diff options
Diffstat (limited to 'kernel/rcu/rcuperf.c')
-rw-r--r-- | kernel/rcu/rcuperf.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/rcu/rcuperf.c b/kernel/rcu/rcuperf.c index 4513807cd4c4..5a879d073c1c 100644 --- a/kernel/rcu/rcuperf.c +++ b/kernel/rcu/rcuperf.c | |||
@@ -375,6 +375,14 @@ rcu_perf_writer(void *arg) | |||
375 | if (holdoff) | 375 | if (holdoff) |
376 | schedule_timeout_uninterruptible(holdoff * HZ); | 376 | schedule_timeout_uninterruptible(holdoff * HZ); |
377 | 377 | ||
378 | /* | ||
379 | * Wait until rcu_end_inkernel_boot() is called for normal GP tests | ||
380 | * so that RCU is not always expedited for normal GP tests. | ||
381 | * The system_state test is approximate, but works well in practice. | ||
382 | */ | ||
383 | while (!gp_exp && system_state != SYSTEM_RUNNING) | ||
384 | schedule_timeout_uninterruptible(1); | ||
385 | |||
378 | t = ktime_get_mono_fast_ns(); | 386 | t = ktime_get_mono_fast_ns(); |
379 | if (atomic_inc_return(&n_rcu_perf_writer_started) >= nrealwriters) { | 387 | if (atomic_inc_return(&n_rcu_perf_writer_started) >= nrealwriters) { |
380 | t_rcu_perf_writer_started = t; | 388 | t_rcu_perf_writer_started = t; |