rcu: Fixes to NO_HZ_FULL sysidle accounting
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 23 Feb 2015 23:57:07 +0000 (15:57 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 26 Feb 2015 20:11:03 +0000 (12:11 -0800)
commit675da67f24e2d6d8df0cedf12e59085ed8bbf4e7
treed28ff66c2700afaebf2888a723f022766ce4a48c
parentc517d838eb7d07bbe9507871fab3931deccff539
rcu: Fixes to NO_HZ_FULL sysidle accounting

On second and subsequent passes through quiescent-state forcing, the
isidle variable was initialized to false, which would prevent full sysidle
state from being reached if a grace period needed more than one round
of quiescent-state forcing (which most should not).  However, the check
for offline CPUs in the quiescent-state forcing main loop had the wrong
sense, which could prevent CPUs from ever entering full sysidle state.

This commit fixes both of these bugs.  Given that sysidle is not yet
wired up, this has no effect in old kernels, but might have proven
frustrating had anyone attempted to wire it up.

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