diff options
| author | Jan Polensky <japo@linux.ibm.com> | 2026-09-08 15:58:43 +0200 |
|---|---|---|
| committer | Heiko Carstens <hca@linux.ibm.com> | 2026-09-17 07:01:07 +0200 |
| commit | 6db0f16f27e338e3b8b71be30609aa5f7823c8be (patch) | |
| tree | 117ec777b91afd4f7b108e9eda5213209b01dee0 /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | 8410516674b52a51ce2c15c7e2ea7dee2a8b6489 (diff) | |
| download | linux-6db0f16f27e338e3b8b71be30609aa5f7823c8be.tar.gz linux-6db0f16f27e338e3b8b71be30609aa5f7823c8be.zip | |
s390/rwlock: Add contention tracepoints to rwlock slowpath
Instrument arch_read_lock_wait() and arch_write_lock_wait() with
trace_contention_begin() and trace_contention_end().
These tracepoints are used by lock contention analysis tools such as
perf lock contention to identify contended rwlocks and measure wait
times. The generic implementation in kernel/locking/qrwlock.c already
emits the same events from its read and write slowpaths.
For arch_read_lock_wait(), the in_interrupt() fast-path is intentionally
left outside the tracepoint scope. That path spins without entering the
wait queue, so it does not represent queue-based contention and its
duration is not comparable to the normal slowpath. This matches the
behaviour of queued_read_lock_slowpath() in qrwlock.c.
The include for <trace/events/lock.h> is already present from
commit ffa796cc1f45 ("s390/spinlock: Add contention tracepoints to
lock slowpath").
Signed-off-by: Jan Polensky <japo@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
