rcu: Move quiescent-state forcing into kthread
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sat, 23 Jun 2012 00:06:26 +0000 (17:06 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sun, 23 Sep 2012 14:41:54 +0000 (07:41 -0700)
commit4cdfc175c25c89eedc08460b5e6239c2ec67fcb6
tree716acd208cb0633cdd19fc0cd5ad601906cceb24
parentb402b73b3afe3614bc0e921ebe18013ea103115a
rcu: Move quiescent-state forcing into kthread

As the first step towards allowing quiescent-state forcing to be
preemptible, this commit moves RCU quiescent-state forcing into the
same kthread that is now used to initialize and clean up after grace
periods.  This is yet another step towards keeping scheduling
latency down to a dull roar.

Updated to change from raw_spin_lock_irqsave() to raw_spin_lock_irq()
and to remove the now-unused rcu_state structure fields as suggested by
Peter Zijlstra.

Reported-by: Mike Galbraith <mgalbraith@suse.de>
Reported-by: Dimitri Sivanich <sivanich@sgi.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcutree.c
kernel/rcutree.h
kernel/rcutree_plugin.h