]> git.karo-electronics.de Git - karo-tx-linux.git/commit
sched: Make migration_call() safe for stop_machine()-free hotplug
authorPaul E. McKenney <paul.mckenney@linaro.org>
Tue, 24 Jul 2012 21:57:17 +0000 (14:57 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 3 Aug 2012 15:43:20 +0000 (08:43 -0700)
commitc11f73e13c65ffda9bd211195706d6f11f7ebfce
tree0d5fd5007407f9c858249f78e90552db3995ba31
parent5cf05ad758c30d17ff23c2be346b5de982bc2121
sched: Make migration_call() safe for stop_machine()-free hotplug

The CPU_DYING branch of migration_call() relies on the fact that
CPU-hotplug offline operations use stop_machine().  This commit therefore
attempts to remedy this situation by acquiring the relevant runqueue
locks.  Note that sched_ttwu_pending() remains outside of the scope of
these new runqueue-lock critical sections because (1) sched_ttwu_pending()
does its own runqueue-lock acquisition and (2) sched_ttwu_pending() handles
pending wakeups, and no further wakeups can select this CPU because it
is already marked as offline.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/sched/core.c