Re: [RFC PATCH] kernel: sched: Provide a pointer to the valid CPU mask

From: Peter Zijlstra
Date: Thu Apr 06 2017 - 07:51:26 EST


On Thu, Apr 06, 2017 at 01:03:16PM +0200, Thomas Gleixner wrote:

> Fair enough, but I prefer to have the ability for a temporary restriction
> of the user space visible cpus allowed mask in the core code, which can be
> used for both migrate_disable() and things like that MIPS FPU stuff rather
> than all those home brewn hackeries which are prone to bitrot, security
> issues and subtle wreckage. cpus_allowed should be solely under sched core
> control and not accessible from anything outside.

So the big difference between what MIPS does and what migrate_disable()
needs here is the amount of storage.

For migrate_disable() we don't need a whole second cpumask bitmap. We
can simply use one of the static cpumask_of() things.

Given that cpumask bitmaps can be quite large, adding another one to
task_struct just for $very_rare_occasion, doesn't seem like a good
thing.