Bug#985681: linux-cpupower: Fix Pkg Power tracking on Zen
Package: linux-cpupower
Version: 5.10.24-1
Severity: normal
Tags: patch
turbostat no longer works with at least some Zen-based systems, it exits
early with code 243.
A trivial fix has been proposed that reportedly works at least for Zen 2
and 3.
I myself have successfully tested it with Zen 2.
The patch has not yet been included upstream (there has been no reply to
it in quite a while), but since it's so trivial, perhaps it could be
included in our package, so that we may get back power statistics for
Zen CPUs.
(This may or may not warrant a higher severity. If Zen 2 belongs to the
officially supported platforms, that it should probably be more severe.)
Author: Kurt Garloff <kurt@garloff.de>
Date: Sat Dec 26 13:00:15 2020 +0100
turbostat: Fix Pkg Power tracking on Zen
AMD Zen processors use a different MSR (MSR_PKG_ENERGY_STAT) than intel
(MSR_PKG_ENERGY_STATUS) to track package power; however we want to record
it at the same offset in our package_data.
offset_to_idx() however only recognized the intel MSR, erroring
out with -13 on Zen.
With this fix, it will support the Zen MSR.
Tested successfully on Ryzen 3000.
Signed-off-by: Kurt Garloff <kurt@garloff.de>
Origin: https://lore.kernel.org/lkml/f6143d7a-079d-3f3c-c947-47fc9858a2bb@debian.org/T/#t
diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
index f3a1746f7f45..eb845421f492 100644
--- a/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c
@@ -325,6 +325,7 @@ int offset_to_idx(int offset)
int idx;
switch (offset) {
+ case MSR_PKG_ENERGY_STAT:
case MSR_PKG_ENERGY_STATUS:
idx = IDX_PKG_ENERGY;
break;
Reply to: