sched: Simplify migration_cpu_stop()
authorPeter Zijlstra <peterz@infradead.org>
Wed, 24 Feb 2021 10:50:39 +0000 (11:50 +0100)
committerIngo Molnar <mingo@kernel.org>
Sat, 6 Mar 2021 11:40:20 +0000 (12:40 +0100)
commitc20cf065d4a619d394d23290093b1002e27dff86
treecc4c2ba214410f9ffd0b31d54023ad10f3f0ff0c
parent8a6edb5257e2a84720fe78cb179eca58ba76126f
sched: Simplify migration_cpu_stop()

When affine_move_task() issues a migration_cpu_stop(), the purpose of
that function is to complete that @pending, not any random other
p->migration_pending that might have gotten installed since.

This realization much simplifies migration_cpu_stop() and allows
further necessary steps to fix all this as it provides the guarantee
that @pending's stopper will complete @pending (and not some random
other @pending).

Fixes: 6d337eab041d ("sched: Fix migrate_disable() vs set_cpus_allowed_ptr()")
Cc: stable@kernel.org
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20210224131355.430014682@infradead.org
kernel/sched/core.c