rcu: Provide diagnostic option to slow down grace-period scans
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 11 Mar 2015 01:33:20 +0000 (18:33 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 27 May 2015 19:59:02 +0000 (12:59 -0700)
commit0f41c0ddadfb3d5baffe62351c380e2881aacd58
treed0e4b7585f3016f68b6f9afd23342c4dba7e8f93
parent3eaaaf6cd6d7fbaf552cc543ccb93d7da81f43ec
rcu: Provide diagnostic option to slow down grace-period scans

Grace-period scans of the rcu_node combining tree normally
proceed quite quickly, so that it is very difficult to reproduce
races against them.  This commit therefore allows grace-period
pre-initialization and cleanup to be artificially slowed down,
increasing race-reproduction probability.  A pair of pairs of new
Kconfig parameters are provided, RCU_TORTURE_TEST_SLOW_PREINIT to
enable the slowing down of propagating CPU-hotplug changes up the
combining tree along with RCU_TORTURE_TEST_SLOW_PREINIT_DELAY to
specify the delay in jiffies, and RCU_TORTURE_TEST_SLOW_CLEANUP
to enable the slowing down of the end-of-grace-period cleanup scan
along with RCU_TORTURE_TEST_SLOW_CLEANUP_DELAY to specify the delay
in jiffies.  Boot-time parameters named rcutree.gp_preinit_delay and
rcutree.gp_cleanup_delay allow these delays to be specified at boot time.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Documentation/kernel-parameters.txt
kernel/rcu/tree.c
lib/Kconfig.debug
tools/testing/selftests/rcutorture/configs/rcu/CFcommon