[PATCH 4/8] powerpc: Explicitly disable math features when copying thread
Cyril Bur
cyrilbur at gmail.com
Mon Nov 23 14:20:39 AEDT 2015
On Mon, 23 Nov 2015 12:08:38 +1100
Michael Neuling <mikey at neuling.org> wrote:
> On Wed, 2015-11-18 at 14:26 +1100, Cyril Bur wrote:
> > With threads leaving the math bits enabled in their saved MSR to
> > indicate
> > that the hardware is hot and a restore is not needed, children need
> > to turn
> > it off as when they do get scheduled, there's no way their registers
> > could
> > have been hot.
> >
> > Signed-off-by: Cyril Bur <cyrilbur at gmail.com>
> > ---
> > arch/powerpc/kernel/process.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/powerpc/kernel/process.c
> > b/arch/powerpc/kernel/process.c
> > index 398f7bf..441d9e5 100644
> > --- a/arch/powerpc/kernel/process.c
> > +++ b/arch/powerpc/kernel/process.c
> > @@ -1243,6 +1243,7 @@ int copy_thread(unsigned long clone_flags,
> > unsigned long usp,
> >
> > f = ret_from_fork;
> > }
> > + childregs->msr &= ~(MSR_FP|MSR_VEC|MSR_VSX);
>
> Is this a current bug?
>
It is impossible currently because saving the registers (of the parent, before
the creating the child) also forces a giveup of the facilities.
The next patch in the series decouples the saving and the giving up which
makes this situation possible.
> Mikey
>
> > sp -= STACK_FRAME_OVERHEAD;
> >
> > /*
More information about the Linuxppc-dev
mailing list