diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-03-10 15:44:52 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-03-13 14:44:25 -0700 |
commit | 81e59494a56cb14f559886c345c4a93fb576bbab (patch) | |
tree | b12b10e2c9f3f6276b9da55bf85c6547b12b7c7b /kernel/rcutree.c | |
parent | 6231069bdab575fce862ca786f1c0ba5e4e9ba3b (diff) | |
download | linux-81e59494a56cb14f559886c345c4a93fb576bbab.tar.gz linux-81e59494a56cb14f559886c345c4a93fb576bbab.tar.bz2 linux-81e59494a56cb14f559886c345c4a93fb576bbab.zip |
rcu: Tone down debugging during boot-up and shutdown.
In some situations, randomly delaying RCU grace-period initialization
can cause more trouble than help. This commit therefore restricts this
type of RCU self-torture to runtime, giving it a rest during boot and
shutdown.
Reported-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcutree.c')
-rw-r--r-- | kernel/rcutree.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c index 71df6f9f5ce6..0e522504ae37 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c @@ -1319,7 +1319,8 @@ static int rcu_gp_init(struct rcu_state *rsp) rnp->grphi, rnp->qsmask); raw_spin_unlock_irq(&rnp->lock); #ifdef CONFIG_PROVE_RCU_DELAY - if ((random32() % (rcu_num_nodes * 8)) == 0) + if ((random32() % (rcu_num_nodes * 8)) == 0 && + system_state == SYSTEM_RUNNING) schedule_timeout_uninterruptible(2); #endif /* #ifdef CONFIG_PROVE_RCU_DELAY */ cond_resched(); |