Otherwise, the call_rcu thread might end up in a synchronize_rcu that never ends.
Signed-off-by: Paolo Bonzini <[email protected]> --- tests/rcutorture.h | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/rcutorture.h b/tests/rcutorture.h index 5ba3d2b..4c6f9da 100644 --- a/tests/rcutorture.h +++ b/tests/rcutorture.h @@ -127,9 +127,10 @@ void *rcu_read_perf_test(void *arg) rcu_register_thread(); run_on(me); uatomic_inc(&nthreadsrunning); + put_thread_offline(); while (goflag == GOFLAG_INIT) poll(NULL, 0, 1); - mark_rcu_quiescent_state(); + put_thread_online(); while (goflag == GOFLAG_RUN) { for (i = 0; i < RCU_READ_RUN; i++) { rcu_read_lock(); @@ -286,9 +287,10 @@ void *rcu_read_stress_test(void *arg) int pc; rcu_register_thread(); + put_thread_offline(); while (goflag == GOFLAG_INIT) poll(NULL, 0, 1); - mark_rcu_quiescent_state(); + put_thread_online(); while (goflag == GOFLAG_RUN) { rcu_read_lock(); p = rcu_dereference(rcu_stress_current); -- 1.7.6 _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
