]> git.karo-electronics.de Git - karo-tx-linux.git/commit
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>
Wed, 5 Sep 2012 19:01:21 +0000 (12:01 -0700)
commit7d7c762605212e970db7443e8193a19c6311f63e
treed6813203ed78b073c4c17300ecda12f512feff15
parentcca673f5e91aa6f913642b1359ef17b7ce283d3f
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