summaryrefslogtreecommitdiffstats
path: root/kernel/locking/locktorture.c
diff options
context:
space:
mode:
authorPaul E. McKenney2014-02-26 21:14:51 +0100
committerPaul E. McKenney2014-05-14 02:03:01 +0200
commitda601c63fd3a3e6c30f85eefd5ee46397b5b439d (patch)
treed822406631e006e403310c60436c9b0e751f0d83 /kernel/locking/locktorture.c
parenttorture: Rename RCU_INITRD to TORTURE_INITRD (diff)
downloadkernel-qcow2-linux-da601c63fd3a3e6c30f85eefd5ee46397b5b439d.tar.gz
kernel-qcow2-linux-da601c63fd3a3e6c30f85eefd5ee46397b5b439d.tar.xz
kernel-qcow2-linux-da601c63fd3a3e6c30f85eefd5ee46397b5b439d.zip
torture: Intensify locking test
The current lock_torture_writer() spends too much time sleeping and not enough time hammering locks, as in an eight-CPU test will often only be utilizing a CPU or two. This commit therefore makes lock_torture_writer() sleep less and hammer more. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/locking/locktorture.c')
-rw-r--r--kernel/locking/locktorture.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c
index f26b1a18e34e..b0d3e3c50672 100644
--- a/kernel/locking/locktorture.c
+++ b/kernel/locking/locktorture.c
@@ -219,7 +219,8 @@ static int lock_torture_writer(void *arg)
set_user_nice(current, 19);
do {
- schedule_timeout_uninterruptible(1);
+ if ((torture_random(&rand) & 0xfffff) == 0)
+ schedule_timeout_uninterruptible(1);
cur_ops->writelock();
if (WARN_ON_ONCE(lock_is_write_held))
lwsp->n_write_lock_fail++;