aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/task-analyzer.py
diff options
context:
space:
mode:
authorNamhyung Kim <[email protected]>2023-03-27 22:57:11 +0000
committerArnaldo Carvalho de Melo <[email protected]>2023-04-04 12:39:56 +0000
commit84c3a2bb4c513ca9fd1326cf24d3729b769d9cf1 (patch)
treef3e40c0eae98014a57f29d238b642b1abbf94f40 /tools/perf/scripts/python/task-analyzer.py
parentperf lock contention: Fix debug stat if no contention (diff)
downloadkernel-84c3a2bb4c513ca9fd1326cf24d3729b769d9cf1.tar.gz
kernel-84c3a2bb4c513ca9fd1326cf24d3729b769d9cf1.zip
perf lock contention: Show detail failure reason for BPF
It can fail to collect lock stat from BPF for various reasons. For example, I've got a report that sometimes time calculation seems wrong in case of contended spinlocks. I suspect the time delta went negative for some reason. Count them separately and show in the output like below: $ sudo perf lock contention -abE5 sleep 10 contended total wait max wait avg wait type caller 13 785.61 us 79.36 us 60.43 us spinlock remove_wait_queue+0x14 10 469.02 us 87.51 us 46.90 us spinlock prepare_to_wait+0x27 9 289.09 us 69.08 us 32.12 us spinlock finish_wait+0x36 114 251.05 us 8.56 us 2.20 us spinlock try_to_wake_up+0x1f5 132 188.63 us 5.01 us 1.43 us spinlock __wake_up_common_lock+0x62 === output for debug === bad: 1, total: 279 bad rate: 0.36 % histogram of failure reasons task: 1 stack: 0 time: 0 Signed-off-by: Namhyung Kim <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Hao Luo <[email protected]> Cc: Ian Rogers <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: [email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions