Re: [PATCH 23/27] x86/fpu: Defer FPU state load until return to userspace
From: Sebastian Andrzej Siewior
Date: Fri Apr 12 2019 - 11:24:45 EST
On 2019-04-12 16:36:15 [+0200], Borislav Petkov wrote:
> On Wed, Apr 03, 2019 at 06:41:52PM +0200, Sebastian Andrzej Siewior wrote:
> > @@ -226,10 +236,9 @@ static void fpu__initialize(struct fpu *fpu)
> > {
> > WARN_ON_FPU(fpu != ¤t->thread.fpu);
> >
> > + set_thread_flag(TIF_NEED_FPU_LOAD);
> > fpstate_init(&fpu->state);
> > trace_x86_fpu_init_state(fpu);
> > -
> > - trace_x86_fpu_activate_state(fpu);
>
> That is called nowhere after this patch.
Isn't it called from fpu__clear()?
> Shouldn't it be called below, before fpregs_activate() because
> fpregs_activate() does trace_x86_fpu_regs_activated()?
Why? fpu__initialize() wipes the FPU state and starts from zero.
fpregs_mark_activate() on the other hand marks this FPU context is
currently active.
Sebastian