]> git.karo-electronics.de Git - karo-tx-linux.git/commit
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>
Wed, 22 May 2013 20:59:27 +0000 (13:59 -0700)
commit115ec78dd77b6909fcfd5c2df114a30a5ae09256
tree5d9e3d02bc84362dcef4296470e645b9092c9212
parent1084b67b4d72827a3fe81ce35d2a14020e775e60
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