rcu: reduce __call_rcu()-induced contention on rcu_node structures
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 15 Dec 2010 01:36:02 +0000 (17:36 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 17 Dec 2010 20:34:49 +0000 (12:34 -0800)
commitb52573d2796274f7f31cfeff7185c320adcd4f12
tree61580632fa8fbf80225ba7339274ada0c013a01b
parent0209f6490b030f35349a2bb71294f3fd75b0f36d
rcu: reduce __call_rcu()-induced contention on rcu_node structures

When the current __call_rcu() function was written, the expedited
APIs did not exist.  The __call_rcu() implementation therefore went
to great lengths to detect the end of old grace periods and to start
new ones, all in the name of reducing grace-period latency.  Now the
expedited APIs do exist, and the usage of __call_rcu() has increased
considerably.  This commit therefore causes __call_rcu() to avoid
worrying about grace periods unless there are a large number of
RCU callbacks stacked up on the current CPU.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcutree.c