rcu: Reduce synchronize_rcu_expedited() latency
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 31 Jul 2012 00:19:25 +0000 (17:19 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sun, 23 Sep 2012 14:41:56 +0000 (07:41 -0700)
commit1943c89de700248d68385300a9b5588a1e314f90
tree4b94666097ec98ebb5524799203d215c4c575148
parentbcfa57ce10d3d53d37a6e324f3010b1ce6a2784a
rcu: Reduce synchronize_rcu_expedited() latency

The synchronize_rcu_expedited() function disables interrupts across a
scan of all leaf rcu_node structures, which is not good for real-time
scheduling latency on large systems (hundreds or especially thousands
of CPUs).  This commit therefore holds off CPU-hotplug operations using
get_online_cpus(), and removes the prior acquisiion of the ->onofflock
(which required disabling interrupts).

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
kernel/rcutree_plugin.h