torture: Check for multiple concurrent torture tests

The torture tests are designed to run in isolation, but do not enforce
this isolation.  This commit therefore checks for concurrent torture
tests, and refuses to start new tests while old tests are running.

Signed-off-by: Paul E. McKenney <[email protected]>
Reviewed-by: Josh Triplett <[email protected]>
This commit is contained in:
Paul E. McKenney 2014-04-07 09:14:11 -07:00
commit 5228084eed
4 changed files with 16 additions and 5 deletions

View file

@ -1536,7 +1536,8 @@ rcu_torture_init(void)
&rcu_ops, &rcu_bh_ops, &rcu_busted_ops, &srcu_ops, &sched_ops,
};
torture_init_begin(torture_type, verbose, &rcutorture_runnable);
if (!torture_init_begin(torture_type, verbose, &rcutorture_runnable))
return -EBUSY;
/* Process args and tell the world that the torturer is on the job. */
for (i = 0; i < ARRAY_SIZE(torture_ops); i++) {