]> git.karo-electronics.de Git - karo-tx-linux.git/commit
cpu: No more __stop_machine() in _cpu_down()
authorPaul E. McKenney <paul.mckenney@linaro.org>
Thu, 26 Jul 2012 17:55:55 +0000 (10:55 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 23 Oct 2012 21:46:48 +0000 (14:46 -0700)
commit45a8e3df27070736bbe80af57df3d8c86e5cfdf3
treeafaaeeb32a607dcbe9da5bb92454ad3d75313f2e
parent489832609a1ad7189d11715d8cefb457d90182c5
cpu: No more __stop_machine() in _cpu_down()

The _cpu_down() function invoked as part of the CPU-hotplug offlining
process currently invokes __stop_machine(), which is slow and inflicts
substantial real-time latencies on the entire system.  This patch
substitutes stop_cpus() for __stop_machine() in order to improve
both performance and real-time latency.

This is currently unsafe, because there are a number of uses of
preempt_disable() that are intended to block CPU-hotplug offlining.
These will be fixed, but in the meantime, this commit is one way to help
locate them.

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