Messages in this thread | | | From | Namhyung Kim <> | Subject | [PATCHSET 0/5] perf lock: New lock contention tracepoints support (v1) | Date | Tue, 31 May 2022 23:58:41 -0700 |
| |
Hello,
Kernel v5.19 will have a new set of tracepoints to track lock contentions for various lock types. Unlike tracepoints in LOCKDEP and LOCK_STAT, it's hit only for contended locks and lock names are not available. So it needs to collect stack traces and display the caller function instead.
This patchset merely adds support for the new tracepoints to the existing perf lock commands. So there's no change to the user. Later I'll add new a sub-command dedicated to the tracepoints to make use of the additional information.
Example output:
$ sudo perf lock record -a sleep 3
$ sudo perf lock report -F acquired,contended,avg_wait
Name acquired contended avg wait (ns)
update_blocked_a... 40 40 3611 kernfs_fop_open+... 5 5 3636 _nohz_idle_balance 3 3 2650 tick_do_update_j... 1 1 6041 ep_scan_ready_list 1 1 3930 ...
You can find the code in the 'perf/lock-contention-v1' branch at
git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
Thanks, Namhyung
Namhyung Kim (5): perf lock: Change to synthesize task events perf lock: Add lock contention tracepoints record support perf lock: Handle lock contention tracepoints perf record: Allow to specify max stack depth of fp callchain perf lock: Look up callchain for the contended locks
tools/perf/Documentation/perf-record.txt | 5 + tools/perf/builtin-lock.c | 356 ++++++++++++++++++++++- tools/perf/util/callchain.c | 18 +- 3 files changed, 364 insertions(+), 15 deletions(-)
base-commit: 9dde6cadb92b5670b23b97ec53091df0530ec38b -- 2.36.1.255.ge46751e96f-goog
| |