diff options
| author | Dmitry Ilvokhin <d@ilvokhin.com> | 2026-06-04 07:15:07 +0000 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2026-06-11 13:41:25 +0200 |
| commit | 4f070ccb4dc4692e3b6757819fb80655f58b4f12 (patch) | |
| tree | 78782665697a6acfbdf8cbacce7e903a0668b321 /scripts/kconfig/tests/conditional_dep/git@git.tavy.me:linux.git | |
| parent | 7cfa62cf9432df67b1c95a59984a03a3bc023f98 (diff) | |
locking: Add contended_release tracepoint to sleepable locks
Add the contended_release trace event. This tracepoint fires on the
holder side when a contended lock is released, complementing the
existing contention_begin/contention_end tracepoints which fire on the
waiter side.
This enables correlating lock hold time under contention with waiter
events by lock address.
Add trace_contended_release()/trace_call__contended_release() calls to
the slowpath unlock paths of sleepable locks: mutex, rtmutex, semaphore,
rwsem, percpu-rwsem, and RT-specific rwbase locks.
Where possible, trace_contended_release() fires before the lock is
released and before the waiter is woken. For some lock types, the
tracepoint fires after the release but before the wake. Making the
placement consistent across all lock types is not worth the added
complexity.
For reader/writer locks, the tracepoint fires for every reader releasing
while a writer is waiting, not only for the last reader.
Signed-off-by: Dmitry Ilvokhin <d@ilvokhin.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Acked-by: Usama Arif <usama.arif@linux.dev>
Link: https://patch.msgid.link/02f4f6c5ce6761e7f6587cf0ff2289d962ecddd4.1780506267.git.d@ilvokhin.com
Diffstat (limited to 'scripts/kconfig/tests/conditional_dep/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions
