[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1702090957060.3604@nanos>
Date: Thu, 9 Feb 2017 09:59:00 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Ingo Molnar <mingo@...nel.org>
cc: Peter Zijlstra <peterz@...radead.org>,
Mike Galbraith <efault@....de>, Ingo Molnar <mingo@...e.hu>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: tip: demise of tsk_cpus_allowed() and tsk_nr_cpus_allowed()
On Thu, 9 Feb 2017, Ingo Molnar wrote:
> And -rt would do something like this in migration_disable()/enable():
>
> t->cpus_ptr = &cpumask_of(task_cpu(p));
> t->nr_cpus = 1;
>
> ...
>
> t->cpus_ptr = &t->cpus_mask;
> t->nr_cpus = cpumask_weight(t->cpus_mask);
>
> In addition to that we could cache the weight of the cpumask as an additional
> optimization:
>
> t->cpus_ptr = &t->cpus_mask;
> t->nr_cpus = t->cpus_mask_weight;
>
> It all looks like a pretty natural construct to me. The migration_disabled() flag
> spreads almost a hundred branches all across the scheduler.
I'm fine with that. Making the pointer const is clever and prevents people
from manipulating the wrong thing. If would be great if you could rework it
that way instead of just ripping all out.
Thanks,
tglx
Powered by blists - more mailing lists