Re: [PATCH 1/7] x86/fpu: Simplify the fpu->last_cpu logic and rename it to fpu->fpregs_cached
From: Ingo Molnar
Date: Thu Jan 26 2017 - 10:10:06 EST
* Rik van Riel <riel@xxxxxxxxxx> wrote:
> On Thu, 2017-01-26 at 12:26 +0100, Ingo Molnar wrote:
> > index c56fb57f2991..7eb2f3041fde 100644
> > --- a/kernel/sched/core.c
> > +++ b/kernel/sched/core.c
> > @@ -1253,6 +1253,8 @@ void set_task_cpu(struct task_struct *p,
> > unsigned int new_cpu)
> > p->sched_class->migrate_task_rq(p);
> > p->se.nr_migrations++;
> > perf_event_task_migrate(p);
> > +
> > + arch_task_migrate(p);
> > }
> Does it really count as a "simplification" if you add a
> scheduler callback?
> This code does not seem any easier to understand than
> the old code...
See the extra commit I added on top:
7deff4369276 x86/fpu: Unify the naming of the FPU register cache validity flags
which makes it clearer, we now have:
That are set to 1 and the context pointer when a task with no FPU state is
scheduled in and where the state of the previous task is preserved (cached) in the
FPU registers - and which FPU register state cache can be invalidated after this
by clearing any of the two flags.
That should make its overall meaning clearer, in that they represent a single
'cache' where the cache validity flag is split into two copies, where any of which
can be used to invalidate the cache.