All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET 0/5] perf lock: Add contention subcommand (v2)
@ 2022-07-25 18:31 Namhyung Kim
  2022-07-25 18:31 ` [PATCH 1/5] perf lock: Add flags field in the lock_stat Namhyung Kim
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Namhyung Kim @ 2022-07-25 18:31 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Jiri Olsa
  Cc: Ingo Molnar, Peter Zijlstra, LKML, Ian Rogers, linux-perf-users,
	Will Deacon, Waiman Long, Boqun Feng, Davidlohr Bueso

Hello,

It's to add a new subcommand 'contention' (shortly 'con') to perf lock.

Changes in v2)
* bugfix is merged already
* fix build error in patch 2

The new subcommand is to handle the new lock:contention_{begin,end}
tracepoints and shows lock type and caller address like below:

  $ perf lock contention
   contended   total wait     max wait     avg wait         type   caller

         238      1.41 ms     29.20 us      5.94 us     spinlock   update_blocked_averages+0x4c
           1    902.08 us    902.08 us    902.08 us      rwsem:R   do_user_addr_fault+0x1dd
          81    330.30 us     17.24 us      4.08 us     spinlock   _nohz_idle_balance+0x172
           2     89.54 us     61.26 us     44.77 us     spinlock   do_anonymous_page+0x16d
          24     78.36 us     12.27 us      3.27 us        mutex   pipe_read+0x56
           2     71.58 us     59.56 us     35.79 us     spinlock   __handle_mm_fault+0x6aa
           6     25.68 us      6.89 us      4.28 us     spinlock   do_idle+0x28d
           1     18.46 us     18.46 us     18.46 us      rtmutex   exec_fw_cmd+0x21b
           3     15.25 us      6.26 us      5.08 us     spinlock   tick_do_update_jiffies64+0x2c
   ...

where rwsem:R stands for read access (down_read) for a rw-semaphore.
Other types of lock access is obvious and it doesn't detect optimistic
spinning on mutex yet.  This is just a base work for lock contention
analysis and more will come later.

You can get this from 'perf/lock-subcmd-v2' branch on

  git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git

Thanks,
Namhyung


Namhyung Kim (5):
  perf lock: Add flags field in the lock_stat
  perf lock: Add lock aggregation enum
  perf lock: Add 'contention' subcommand
  perf lock: Add -k and -F options to 'contention' subcommand
  perf lock: Support -t option for 'contention' subcommand

 tools/perf/Documentation/perf-lock.txt |  23 +-
 tools/perf/builtin-lock.c              | 401 +++++++++++++++++++++++--
 2 files changed, 390 insertions(+), 34 deletions(-)


base-commit: 9fe9b252c7c022df8e503435e778f15c04dfa3bf
-- 
2.37.1.359.gd136c6c3e2-goog


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-07-25 21:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-25 18:31 [PATCHSET 0/5] perf lock: Add contention subcommand (v2) Namhyung Kim
2022-07-25 18:31 ` [PATCH 1/5] perf lock: Add flags field in the lock_stat Namhyung Kim
2022-07-25 20:53   ` Arnaldo Carvalho de Melo
2022-07-25 18:31 ` [PATCH 2/5] perf lock: Add lock aggregation enum Namhyung Kim
2022-07-25 18:31 ` [PATCH 3/5] perf lock: Add 'contention' subcommand Namhyung Kim
2022-07-25 18:31 ` [PATCH 4/5] perf lock: Add -k and -F options to " Namhyung Kim
2022-07-25 18:31 ` [PATCH 5/5] perf lock: Support -t option for " Namhyung Kim
2022-07-25 21:01 ` [PATCHSET 0/5] perf lock: Add contention subcommand (v2) Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.