]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tools/power turbostat: Fix unc freq columns not showing with '-q' or '-l'
authorAdam Hawley <adam.james.hawley@intel.com>
Wed, 22 May 2024 13:27:21 +0000 (16:27 +0300)
committerLen Brown <len.brown@intel.com>
Fri, 28 Jun 2024 03:53:27 +0000 (23:53 -0400)
Commit 78464d7681f7 ("tools/power turbostat: Add columns for clustered
uncore frequency") introduced 'probe_intel_uncore_frequency_cluster()'
in a way which prevents printing uncore frequency columns if either of
the '-q' or '-l' options are used. Systems which do not have multiple
uncore frequencies per package are unaffected by this regression.

Fix the function so that uncore frequency columns are shown when either
the '-l' or '-q' option is used by checking if 'quiet' is true after
adding counters for the uncore frequency columns.

Fixes: 78464d7681f7 ("tools/power turbostat: Add columns for clustered uncore frequency")
Signed-off-by: Adam Hawley <adam.james.hawley@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
tools/power/x86/turbostat/turbostat.c

index 12c1872aa42e3010a37e753ae050d1c0ae91b066..ad10feb9fafd97f1212454eb2f8c0952b1efadca 100644 (file)
@@ -5695,9 +5695,6 @@ static void probe_intel_uncore_frequency_cluster(void)
        if (access("/sys/devices/system/cpu/intel_uncore_frequency/uncore00/current_freq_khz", R_OK))
                return;
 
-       if (quiet)
-               return;
-
        for (uncore_max_id = 0;; ++uncore_max_id) {
 
                sprintf(path_base, "/sys/devices/system/cpu/intel_uncore_frequency/uncore%02d", uncore_max_id);
@@ -5727,6 +5724,14 @@ static void probe_intel_uncore_frequency_cluster(void)
                sprintf(path, "%s/fabric_cluster_id", path_base);
                cluster_id = read_sysfs_int(path);
 
+               sprintf(path, "%s/current_freq_khz", path_base);
+               sprintf(name_buf, "UMHz%d.%d", domain_id, cluster_id);
+
+               add_counter(0, path, name_buf, 0, SCOPE_PACKAGE, COUNTER_K2M, FORMAT_AVERAGE, 0, package_id);
+
+               if (quiet)
+                       continue;
+
                sprintf(path, "%s/min_freq_khz", path_base);
                k = read_sysfs_int(path);
                sprintf(path, "%s/max_freq_khz", path_base);
@@ -5743,11 +5748,6 @@ static void probe_intel_uncore_frequency_cluster(void)
                sprintf(path, "%s/current_freq_khz", path_base);
                k = read_sysfs_int(path);
                fprintf(outf, " %d MHz\n", k / 1000);
-
-               sprintf(path, "%s/current_freq_khz", path_base);
-               sprintf(name_buf, "UMHz%d.%d", domain_id, cluster_id);
-
-               add_counter(0, path, name_buf, 0, SCOPE_PACKAGE, COUNTER_K2M, FORMAT_AVERAGE, 0, package_id);
        }
 }