sched: Relax the set_cpus_allowed_ptr() semantics
authorPeter Zijlstra <peterz@infradead.org>
Sat, 16 Jan 2021 10:56:37 +0000 (11:56 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 22 Jan 2021 14:09:44 +0000 (15:09 +0100)
commit741ba80f6f9a4702089c122129f22df9774b3e64
tree8af509c342e69ab7aed56b1b09309bfb9fe748c2
parent5ba2ffba13a1e24e7b153683e97300f9cc6f605a
sched: Relax the set_cpus_allowed_ptr() semantics

Now that we have KTHREAD_IS_PER_CPU to denote the critical per-cpu
tasks to retain during CPU offline, we can relax the warning in
set_cpus_allowed_ptr(). Any spurious kthread that wants to get on at
the last minute will get pushed off before it can run.

While during CPU online there is no harm, and actual benefit, to
allowing kthreads back on early, it simplifies hotplug code and fixes
a number of outstanding races.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Lai jiangshan <jiangshanlai@gmail.com>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20210121103507.240724591@infradead.org
kernel/sched/core.c