diff options
author | Zhang Rui <rui.zhang@intel.com> | 2025-01-08 09:19:42 +0300 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2025-01-27 20:35:22 +0300 |
commit | 1af5baeda512d0940748fdf9b559e1041dbab0cf (patch) | |
tree | e79c0f141845fc83f9205d3465428f56caa38db1 /tools/perf/scripts/python | |
parent | debe797c1e972ebe434c90f3fa7f54d9cf7ab251 (diff) | |
download | linux-1af5baeda512d0940748fdf9b559e1041dbab0cf.tar.xz |
tools/power turbostat: Enhance turbostat self-performance visibility
Include procfs and sysfs data collection time in the system summary
row of the "usec" column. This is useful for isolating where the
time goes during turbostat data collection.
Background:
Column "usec" shows
1. the number of microseconds elapsed during counter collection,
including thread migration -- if any, for each CPU row.
2. total elapsed time to collect the counters on all cpus, for the
summary row.
This can be used to check the time cost of a give column. For example,
run below commands separately
turbostat --show usec sleep 1
turbostat --show usec,CoreTmp sleep 1
and the delta in the usec column will tell the time cost for CoreTmp
(Thermal MSR read)
Problem:
Some of the kernel procfs/sysfs accesses are expensive, especially on
high core count systems. "usec" column cannot tell this because it only
includes the time cost of the counters.
Solution:
Leave the per CPU "usec" as it is and modify the summary "usec" to
include the time cost of the procfs/sysfs snapshot.
With it, the "usec" column can be used to get
1. the baseline, e.g.
turbostat --show usec sleep 1
2. the baseline + some per CPU counter cost, e.g.
turbostat --show usec,CoreTmp sleep 1
3. the baseline + some per CPU sysfs cost, e.g.
turbostat --show usec,C1 sleep 1
4. the baseline + /proc/interrupts cost, e.g
turbostat --show usec,IRQ sleep 1
Man-page update is also included.
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions