Skip to content

Commit c62daff

Browse files
zhang-ruigregkh
authored andcommitted
tools/power turbostat: Fix bogus SysWatt for forked program
[ Upstream commit 4420756 ] 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: e5f687b ("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent f95904e commit c62daff

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

tools/power/x86/turbostat/turbostat.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9593,6 +9593,7 @@ int fork_it(char **argv)
95939593
timersub(&tv_odd, &tv_even, &tv_delta);
95949594
if (for_all_cpus_2(delta_cpu, ODD_COUNTERS, EVEN_COUNTERS))
95959595
fprintf(outf, "%s: Counter reset detected\n", progname);
9596+
delta_platform(&platform_counters_odd, &platform_counters_even);
95969597

95979598
compute_average(EVEN_COUNTERS);
95989599
format_all_counters(EVEN_COUNTERS);

0 commit comments

Comments
 (0)