diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-03-10 18:44:52 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-03-13 17:44:25 -0400 |
commit | 81e59494a56cb14f559886c345c4a93fb576bbab (patch) | |
tree | b12b10e2c9f3f6276b9da55bf85c6547b12b7c7b /kernel/rcutree.c | |
parent | 6231069bdab575fce862ca786f1c0ba5e4e9ba3b (diff) |
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) | |||
1319 | rnp->grphi, rnp->qsmask); | 1319 | rnp->grphi, rnp->qsmask); |
1320 | raw_spin_unlock_irq(&rnp->lock); | 1320 | raw_spin_unlock_irq(&rnp->lock); |
1321 | #ifdef CONFIG_PROVE_RCU_DELAY | 1321 | #ifdef CONFIG_PROVE_RCU_DELAY |
1322 | if ((random32() % (rcu_num_nodes * 8)) == 0) | 1322 | if ((random32() % (rcu_num_nodes * 8)) == 0 && |
1323 | system_state == SYSTEM_RUNNING) | ||
1323 | schedule_timeout_uninterruptible(2); | 1324 | schedule_timeout_uninterruptible(2); |
1324 | #endif /* #ifdef CONFIG_PROVE_RCU_DELAY */ | 1325 | #endif /* #ifdef CONFIG_PROVE_RCU_DELAY */ |
1325 | cond_resched(); | 1326 | cond_resched(); |