mirror-linux/kernel/locking
John Stultz de2c5a1523 test-ww_mutex: Allow test to be run (and re-run) from userland
In cases where the ww_mutex test was occasionally tripping on
hard to find issues, leaving qemu in a reboot loop was my best
way to reproduce problems. These reboots however wasted time
when I just wanted to run the test-ww_mutex logic.

So tweak the test-ww_mutex test so that it can be re-triggered
via a sysfs file, so the test can be run repeatedly without
doing module loads or restarting.

This has been particularly valuable to stressing and finding
issues with the proxy-exec series.

To use, run as root:
  echo 1 > /sys/kernel/test_ww_mutex/run_tests

Signed-off-by: John Stultz <jstultz@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20251205013515.759030-4-jstultz@google.com
2025-12-18 10:45:23 +01:00
..
Makefile locking/lockdep: Disable KASAN instrumentation of lockdep.c 2025-03-08 00:55:03 +01:00
irqflag-debug.c
lock_events.c
lock_events.h locking/qspinlock: Always evaluate lockevent* non-event parameter once 2024-03-21 20:45:17 +01:00
lock_events_list.h bpf_res_spin_lock 2025-03-30 13:06:27 -07:00
lockdep.c lockdep: Speed up lockdep_unregister_key() with expedited RCU synchronization 2025-07-14 21:57:29 -07:00
lockdep_internals.h locking/lockdep: Change 'static const' variables to enum values 2025-07-14 21:57:29 -07:00
lockdep_proc.c locking/lockdep: Avoid struct return in lock_stats() 2025-07-14 21:57:20 -07:00
lockdep_states.h
locktorture.c locktorture: Fix memory leak in param_set_cpumask() 2025-11-06 00:03:04 +01:00
mcs_spinlock.h locking: Allow obtaining result of arch_mcs_spin_lock_contended 2025-03-19 08:03:04 -07:00
mutex-debug.c locking/mutex: Redo __mutex_init() to reduce generated code size 2025-12-01 06:51:57 +01:00
mutex.c locking/mutex: Redo __mutex_init() to reduce generated code size 2025-12-01 06:51:57 +01:00
mutex.h locking/mutex: Redo __mutex_init() to reduce generated code size 2025-12-01 06:51:57 +01:00
osq_lock.c locking/osq_lock: Use atomic_try_cmpxchg_release() in osq_unlock() 2024-10-25 10:01:50 +02:00
percpu-rwsem.c locking/percpu-rwsem: add freezable alternative to down_read 2025-04-07 09:37:16 +02:00
qrwlock.c
qspinlock.c locking: Move common qspinlock helpers to a private header 2025-03-19 08:02:29 -07:00
qspinlock.h locking: Move common qspinlock helpers to a private header 2025-03-19 08:02:29 -07:00
qspinlock_paravirt.h locking/pvqspinlock: Convert fields of 'enum vcpu_state' to uppercase 2024-10-17 21:21:16 -07:00
qspinlock_stat.h
rtmutex.c locking/lock_events: Add locking events for rtmutex slow paths 2025-03-08 00:55:03 +01:00
rtmutex_api.c locking/mutex: Redo __mutex_init() to reduce generated code size 2025-12-01 06:51:57 +01:00
rtmutex_common.h locking/local_lock: Introduce local_lock_is_locked(). 2025-09-29 09:42:35 +02:00
rwbase_rt.c locking/mutex: Remove wakeups from under mutex::wait_lock 2024-10-14 12:52:40 +02:00
rwsem.c Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
semaphore.c hung_task: show the blocker task if the task is hung on semaphore 2025-05-11 17:54:08 -07:00
spinlock.c locking/spinlocks: Make __raw_* lock ops static 2024-10-07 09:28:35 +02:00
spinlock_debug.c locking/spinlock/debug: Fix data-race in do_raw_write_lock 2025-10-21 12:31:55 +02:00
spinlock_rt.c Scheduler changes for v6.13: 2024-11-19 14:16:06 -08:00
test-ww_mutex.c test-ww_mutex: Allow test to be run (and re-run) from userland 2025-12-18 10:45:23 +01:00
ww_mutex.h locking: Fix __clear_task_blocked_on() warning from __ww_mutex_wound() path 2025-08-13 10:34:54 +02:00
ww_rt_mutex.c