rcu: RCU_FAST_NO_HZ must check RCU dyntick state
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 26 Apr 2010 04:04:29 +0000 (21:04 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 10 May 2010 18:08:35 +0000 (11:08 -0700)
commit77e38ed347162423c6b72e06c865a121081c2bb6
tree328b746af71b47c4af97e6ea06dc24b12528a955
parentd14aada8e20bdf81ffd43f433b123972cf575b32
rcu: RCU_FAST_NO_HZ must check RCU dyntick state

The current version of RCU_FAST_NO_HZ reproduces the old CLASSIC_RCU
dyntick-idle bug, as it fails to detect CPUs that have interrupted
or NMIed out of dyntick-idle mode.  Fix this by making rcu_needs_cpu()
check the state in the per-CPU rcu_dynticks variables, thus correctly
detecting the dyntick-idle state from an RCU perspective.

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