lkml.org 
[lkml]   [2022]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCHSET 0/6] perf lock: Add contention subcommand (v1)
    Date
    Hello,

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

    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-v1' branch on

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

    Thanks,
    Namhyung


    Namhyung Kim (6):
    perf lock: Fix a copy-n-paste bug
    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 | 403 ++++++++++++++++++++++---
    2 files changed, 391 insertions(+), 35 deletions(-)


    base-commit: 41d0914d861e82b4eeec16dd0f6109c311cf4c7e
    --
    2.37.0.170.g444d1eabd0-goog

    \
     
     \ /
      Last update: 2022-07-21 06:37    [W:4.284 / U:0.136 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site