• Namhyung Kim's avatar
    perf lock: Allow concurrent record and report · 30b331d2
    Namhyung Kim authored
    To support live monitoring of kernel lock contention without BPF,
    it should support something like below:
    
      # perf lock record -a -o- sleep 1 | perf lock contention -i-
       contended   total wait     max wait     avg wait         type   caller
    
               2     10.27 us      6.17 us      5.13 us     spinlock   load_balance+0xc03
               1      5.29 us      5.29 us      5.29 us     rwlock:W   ep_scan_ready_list+0x54
               1      4.12 us      4.12 us      4.12 us     spinlock   smpboot_thread_fn+0x116
               1      3.28 us      3.28 us      3.28 us        mutex   pipe_read+0x50
    
    To do that, it needs to handle HEAD_ATTR, HEADER_EVENT_UPDATE and
    HEADER_TRACING_DATA which are generated only for the pipe mode.
    And setting event handler also should be delayed until it gets the
    event information.
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Acked-by: default avatarIan Rogers <irogers@google.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20221104051440.220989-1-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    30b331d2
lock_contention.sh 1.81 KB