[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220615163222.1275500-1-namhyung@kernel.org>
Date: Wed, 15 Jun 2022 09:32:15 -0700
From: Namhyung Kim <namhyung@...nel.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>,
Jiri Olsa <jolsa@...nel.org>
Cc: Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
LKML <linux-kernel@...r.kernel.org>,
Ian Rogers <irogers@...gle.com>,
linux-perf-users@...r.kernel.org, Will Deacon <will@...nel.org>,
Waiman Long <longman@...hat.com>,
Boqun Feng <boqun.feng@...il.com>,
Davidlohr Bueso <dave@...olabs.net>
Subject: [PATCHSET 0/7] perf lock: New lock contention tracepoints support (v4)
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.
Changes in v4)
* add Acked-by from Ian
* more comments on trace_lock_handler
* don't create stats in the contention_end handler
Changes in v3)
* fix build error
* support data from different kernels/machines
* skip bad stat unless there's actual bad ones
Changes in v2)
* add Acked-by from Ian
* print time with a unit for compact output
* add some comments (Ian)
* remove already applied patch
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
$ perf lock report -F acquired,contended,avg_wait,wait_total
Name acquired contended avg wait total wait
update_blocked_a... 40 40 3.61 us 144.45 us
kernfs_fop_open+... 5 5 3.64 us 18.18 us
_nohz_idle_balance 3 3 2.65 us 7.95 us
tick_do_update_j... 1 1 6.04 us 6.04 us
ep_scan_ready_list 1 1 3.93 us 3.93 us
...
You can find the code in the 'perf/lock-contention-v4' branch at
git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
Thanks,
Namhyung
Namhyung Kim (7):
perf lock: Print wait times with unit
perf lock: Allow to use different kernel symbols
perf lock: Skip print_bad_events() if nothing bad
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-lock.txt | 7 +
tools/perf/Documentation/perf-record.txt | 5 +
tools/perf/builtin-lock.c | 426 ++++++++++++++++++++++-
tools/perf/util/callchain.c | 18 +-
4 files changed, 434 insertions(+), 22 deletions(-)
base-commit: 9886142c7a2226439c1e3f7d9b69f9c7094c3ef6
--
2.36.1.476.g0c4daa206d-goog
Powered by blists - more mailing lists