From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>, Jiri Olsa <jolsa@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
Ian Rogers <irogers@google.com>,
linux-perf-users@vger.kernel.org, Will Deacon <will@kernel.org>,
Waiman Long <longman@redhat.com>,
Boqun Feng <boqun.feng@gmail.com>,
Davidlohr Bueso <dave@stgolabs.net>
Subject: [PATCHSET 0/5] perf lock: New lock contention tracepoints support (v1)
Date: Tue, 31 May 2022 23:58:41 -0700 [thread overview]
Message-ID: <20220601065846.456965-1-namhyung@kernel.org> (raw)
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
next reply other threads:[~2022-06-01 6:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-01 6:58 Namhyung Kim [this message]
2022-06-01 6:58 ` [PATCH 1/5] perf lock: Change to synthesize task events Namhyung Kim
2022-06-03 19:28 ` Arnaldo Carvalho de Melo
2022-06-01 6:58 ` [PATCH 2/5] perf lock: Add lock contention tracepoints record support Namhyung Kim
2022-06-02 6:21 ` Ian Rogers
2022-06-02 20:06 ` Namhyung Kim
2022-06-01 6:58 ` [PATCH 3/5] perf lock: Handle lock contention tracepoints Namhyung Kim
2022-06-02 6:23 ` Ian Rogers
2022-06-01 6:58 ` [PATCH 4/5] perf record: Allow to specify max stack depth of fp callchain Namhyung Kim
2022-06-02 6:29 ` Ian Rogers
2022-06-02 20:09 ` Namhyung Kim
2022-06-01 6:58 ` [PATCH 5/5] perf lock: Look up callchain for the contended locks Namhyung Kim
2022-06-02 6:31 ` Ian Rogers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220601065846.456965-1-namhyung@kernel.org \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=boqun.feng@gmail.com \
--cc=dave@stgolabs.net \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=longman@redhat.com \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox