mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 19:13:47 +02:00
tools/power turbostat: Fix bogus SysWatt for forked program
Similar to delta_cpu(), delta_platform() is called in turbostat main
loop. This ensures accurate SysWatt readings in periodic monitoring mode
$ sudo turbostat -S -q --show power -i 1
CoreTmp PkgTmp PkgWatt CorWatt GFXWatt RAMWatt PKG_% RAM_% SysWatt
60 61 6.21 1.13 0.16 0.00 0.00 0.00 13.07
58 61 6.00 1.07 0.18 0.00 0.00 0.00 12.75
58 61 5.74 1.05 0.17 0.00 0.00 0.00 12.22
58 60 6.27 1.11 0.24 0.00 0.00 0.00 13.55
However, delta_platform() is missing for forked program and causes bogus
SysWatt reporting,
$ sudo turbostat -S -q --show power sleep 1
1.004736 sec
CoreTmp PkgTmp PkgWatt CorWatt GFXWatt RAMWatt PKG_% RAM_% SysWatt
57 58 6.05 1.02 0.16 0.00 0.00 0.00 0.03
Add missing delta_platform() for forked program.
Fixes: e5f687b89b ("tools/power turbostat: Add RAPL psys as a built-in counter")
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
d34fe509f5
commit
44207567fa
|
|
@ -9827,6 +9827,7 @@ int fork_it(char **argv)
|
|||
timersub(&tv_odd, &tv_even, &tv_delta);
|
||||
if (for_all_cpus_2(delta_cpu, ODD_COUNTERS, EVEN_COUNTERS))
|
||||
fprintf(outf, "%s: Counter reset detected\n", progname);
|
||||
delta_platform(&platform_counters_odd, &platform_counters_even);
|
||||
|
||||
compute_average(EVEN_COUNTERS);
|
||||
format_all_counters(EVEN_COUNTERS);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user