rcu: Drive quiescent-state-forcing delay from HZ
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 4 Apr 2013 05:14:11 +0000 (22:14 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 10 Jun 2013 20:44:56 +0000 (13:44 -0700)
commit026ad2835ce6202069e7aa0b11f5f1be4de34550
tree2fbf39aa59eee409d892dbd99b82b31e1261f366
parent9a5739d73f9369ba1cdba3889ee4e2f87be25a46
rcu: Drive quiescent-state-forcing delay from HZ

Systems with HZ=100 can have slow bootup times due to the default
three-jiffy delays between quiescent-state forcing attempts.  This
commit therefore auto-tunes the RCU_JIFFIES_TILL_FORCE_QS value based
on the value of HZ.  However, this would break very large systems that
require more time between quiescent-state forcing attempts.  This
commit therefore also ups the default delay by one jiffy for each
256 CPUs that might be on the system (based off of nr_cpu_ids at
runtime, -not- NR_CPUS at build time).

Updated to collapse #ifdefs for RCU_JIFFIES_TILL_FORCE_QS into a
step-function definition as suggested by Josh Triplett.

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