summaryrefslogtreecommitdiffstats
path: root/kernel/locking
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-02-26 12:14:51 -0800
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-05-13 17:03:01 -0700
commitda601c63fd3a3e6c30f85eefd5ee46397b5b439d (patch)
treed822406631e006e403310c60436c9b0e751f0d83 /kernel/locking
parent2f66dbc1e89c0eabd625c584f9b9602be58d1571 (diff)
downloadlinux-da601c63fd3a3e6c30f85eefd5ee46397b5b439d.tar.gz
linux-da601c63fd3a3e6c30f85eefd5ee46397b5b439d.tar.bz2
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')
-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++;