[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: