diff options
author | Davidlohr Bueso <dave@stgolabs.net> | 2015-07-22 14:07:27 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-10-06 11:24:40 -0700 |
commit | 095777c417db142970adeb776fa0cb10810b8122 (patch) | |
tree | b377fac46087f6340a87260388cc07db7433d91d /Documentation/locking | |
parent | 19a5ecde086a6a5287978b12ae948fa691b197b7 (diff) | |
download | linux-stable-095777c417db142970adeb776fa0cb10810b8122.tar.gz linux-stable-095777c417db142970adeb776fa0cb10810b8122.tar.bz2 linux-stable-095777c417db142970adeb776fa0cb10810b8122.zip |
locktorture: Support rtmutex torturing
Real time mutexes is one of the few general primitives
that we do not have in locktorture. Address this -- a few
considerations:
o To spice things up, enable competing thread(s) to become
rt, such that we can stress different prio boosting paths
in the rtmutex code. Introduce a ->task_boost callback,
only used by rtmutex-torturer. Tasks will boost/deboost
around every 50k (arbitrarily) lock/unlock operations.
o Hold times are similar to what we have for other locks:
only occasionally having longer hold times (per ~200k ops).
So we roughly do two full rt boost+deboosting ops with
short hold times.
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'Documentation/locking')
-rw-r--r-- | Documentation/locking/locktorture.txt | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Documentation/locking/locktorture.txt b/Documentation/locking/locktorture.txt index 619f2bb136a5..a2ef3a929bf1 100644 --- a/Documentation/locking/locktorture.txt +++ b/Documentation/locking/locktorture.txt @@ -52,6 +52,9 @@ torture_type Type of lock to torture. By default, only spinlocks will o "mutex_lock": mutex_lock() and mutex_unlock() pairs. + o "rtmutex_lock": rtmutex_lock() and rtmutex_unlock() + pairs. Kernel must have CONFIG_RT_MUTEX=y. + o "rwsem_lock": read/write down() and up() semaphore pairs. torture_runnable Start locktorture at boot time in the case where the |