From: "Joel Fernandes (Google)" <j...@joelfernandes.org> rcutorture currently increments both successes and error for barrier test incase of errors. It should only increment the error counter incase of errors so make it do so.
Test: Introduced rcu_barrier errors by returning from the barrier callback without incrementing the callback counter. Signed-off-by: Joel Fernandes (Google) <j...@joelfernandes.org> --- kernel/rcu/rcutorture.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index 2d1af5ffe536..b77012135ec0 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c @@ -169,7 +169,7 @@ static long n_rcu_torture_boost_failure; static long n_rcu_torture_boosts; static atomic_long_t n_rcu_torture_timers; static long n_barrier_attempts; -static long n_barrier_successes; +static long n_barrier_successes; /* did rcu_barrier test succeed? */ static atomic_long_t n_cbfloods; static struct list_head rcu_torture_removed; @@ -1722,8 +1722,9 @@ static int rcu_torture_barrier(void *arg) atomic_read(&barrier_cbs_invoked), n_barrier_cbs); WARN_ON_ONCE(1); + } else { + n_barrier_successes++; } - n_barrier_successes++; schedule_timeout_interruptible(HZ / 10); } while (!torture_must_stop()); torture_kthread_stopping("rcu_torture_barrier"); -- 2.18.0.rc1.244.gcf134e6275-goog