]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
tools/power turbostat: Regression fix Uncore MHz printed in hex
authorLen Brown <len.brown@intel.com>
Mon, 20 Oct 2025 21:41:38 +0000 (18:41 -0300)
committerLen Brown <len.brown@intel.com>
Fri, 24 Oct 2025 13:41:17 +0000 (10:41 -0300)
A patch to allow specifying FORMAT_AVERAGE to added counters...
broke the internally added counter for Cluster Uncore MHz -- printing it in HEX.

Fixes: dcd1c379b0f1 ("tools/power turbostat: add format "average" for external attributes")
Reported-by: Andrej Tkalcec <andrej.tkalcec@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
tools/power/x86/turbostat/turbostat.c

index f2512d78bcbd8f6adfbcd422bfba5e1df1c3bd28..1b5ca2f4e92ff265f4db5f40d663e7d759903932 100644 (file)
@@ -3285,13 +3285,13 @@ int format_counters(PER_THREAD_PARAMS)
 
        /* Added counters */
        for (i = 0, mp = sys.tp; mp; i++, mp = mp->next) {
-               if (mp->format == FORMAT_RAW || mp->format == FORMAT_AVERAGE) {
+               if (mp->format == FORMAT_RAW) {
                        if (mp->width == 32)
                                outp +=
                                    sprintf(outp, "%s0x%08x", (printed++ ? delim : ""), (unsigned int)t->counter[i]);
                        else
                                outp += sprintf(outp, "%s0x%016llx", (printed++ ? delim : ""), t->counter[i]);
-               } else if (mp->format == FORMAT_DELTA) {
+               } else if (mp->format == FORMAT_DELTA || mp->format == FORMAT_AVERAGE) {
                        if ((mp->type == COUNTER_ITEMS) && sums_need_wide_columns)
                                outp += sprintf(outp, "%s%8lld", (printed++ ? delim : ""), t->counter[i]);
                        else
@@ -3382,13 +3382,13 @@ int format_counters(PER_THREAD_PARAMS)
                outp += sprintf(outp, "%s%lld", (printed++ ? delim : ""), c->core_throt_cnt);
 
        for (i = 0, mp = sys.cp; mp; i++, mp = mp->next) {
-               if (mp->format == FORMAT_RAW || mp->format == FORMAT_AVERAGE) {
+               if (mp->format == FORMAT_RAW) {
                        if (mp->width == 32)
                                outp +=
                                    sprintf(outp, "%s0x%08x", (printed++ ? delim : ""), (unsigned int)c->counter[i]);
                        else
                                outp += sprintf(outp, "%s0x%016llx", (printed++ ? delim : ""), c->counter[i]);
-               } else if (mp->format == FORMAT_DELTA) {
+               } else if (mp->format == FORMAT_DELTA || mp->format == FORMAT_AVERAGE) {
                        if ((mp->type == COUNTER_ITEMS) && sums_need_wide_columns)
                                outp += sprintf(outp, "%s%8lld", (printed++ ? delim : ""), c->counter[i]);
                        else
@@ -3581,7 +3581,7 @@ int format_counters(PER_THREAD_PARAMS)
                outp += sprintf(outp, "%s%d", (printed++ ? delim : ""), p->uncore_mhz);
 
        for (i = 0, mp = sys.pp; mp; i++, mp = mp->next) {
-               if (mp->format == FORMAT_RAW || mp->format == FORMAT_AVERAGE) {
+               if (mp->format == FORMAT_RAW) {
                        if (mp->width == 32)
                                outp +=
                                    sprintf(outp, "%s0x%08x", (printed++ ? delim : ""), (unsigned int)p->counter[i]);
@@ -3758,7 +3758,7 @@ int delta_package(struct pkg_data *new, struct pkg_data *old)
            new->rapl_dram_perf_status.raw_value - old->rapl_dram_perf_status.raw_value;
 
        for (i = 0, mp = sys.pp; mp; i++, mp = mp->next) {
-               if (mp->format == FORMAT_RAW || mp->format == FORMAT_AVERAGE)
+               if (mp->format == FORMAT_RAW)
                        old->counter[i] = new->counter[i];
                else if (mp->format == FORMAT_AVERAGE)
                        old->counter[i] = new->counter[i];