rcutorture: Add end-of-test check to rcu_torture_fwd_prog() loop
The second and subsequent forward-progress kthreads loop waiting for the first forward-progress kthread to start the next test interval. Unfortunately, if the test ends while one of those kthreads is waiting, the test will hang. This hang occurs because that wait loop fails to check for the end of the test. This commit therefore adds an end-of-test check to that wait loop. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
e22ef8df41
commit
02b51a1cf4
|
@ -2515,7 +2515,7 @@ static int rcu_torture_fwd_prog(void *args)
|
|||
firsttime = false;
|
||||
WRITE_ONCE(rcu_fwd_seq, rcu_fwd_seq + 1);
|
||||
} else {
|
||||
while (READ_ONCE(rcu_fwd_seq) == oldseq)
|
||||
while (READ_ONCE(rcu_fwd_seq) == oldseq && !torture_must_stop())
|
||||
schedule_timeout_interruptible(1);
|
||||
oldseq = READ_ONCE(rcu_fwd_seq);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue