summaryrefslogtreecommitdiffstats
path: root/kernel/rcu/rcutorture.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-04-07 18:14:11 +0200
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-05-14 18:46:29 +0200
commit5228084eed8d54c426c7abde3be66daf8e1b0e57 (patch)
tree5c53c30d2f6f7627f857d6ebe002eb3eae2a48d8 /kernel/rcu/rcutorture.c
parentlocktorture: Remove reference to nonexistent Kconfig parameter (diff)
downloadlinux-5228084eed8d54c426c7abde3be66daf8e1b0e57.tar.xz
linux-5228084eed8d54c426c7abde3be66daf8e1b0e57.zip
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 <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'kernel/rcu/rcutorture.c')
-rw-r--r--kernel/rcu/rcutorture.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index 4b7b97ff1195..7fa34f86e5ba 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -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++) {