rcu: Hold off RCU_FAST_NO_HZ after timer posted
authorPaul E. McKenney <paul.mckenney@linaro.org>
Fri, 17 Feb 2012 05:59:33 +0000 (21:59 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 21 Feb 2012 17:42:30 +0000 (09:42 -0800)
commit696a02cc16b182dd78b1f395ae336f449cc90f11
tree5411af06d52a3f567e6b3fe592128d3fc0306be1
parentc3ce910b1456a45fa88959af3735bd6b285e54af
rcu: Hold off RCU_FAST_NO_HZ after timer posted

This commit handles workloads that transition quickly between idle and
non-idle, and where the CPU's callbacks cannot be invoked, but where
RCU does not have anything immediate for the CPU to do.  Without this
patch, the RCU_FAST_NO_HZ code can be invoked repeatedly on each entry
to idle.  The commit sets the per-CPU rcu_dyntick_holdoff variable to
hold off further attempts for a tick.

Reported-by: "Abou Gazala, Neven M" <neven.m.abou.gazala@intel.com>
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcutree_plugin.h