tools/power turbostat: Always check rapl_joules flag
authorZhang Rui <rui.zhang@intel.com>
Fri, 30 May 2025 06:00:33 +0000 (14:00 +0800)
committerLen Brown <len.brown@intel.com>
Sun, 8 Jun 2025 18:10:16 +0000 (14:10 -0400)
rapl_joules bit should always be checked even if
platform_features->rapl_msrs is not set or no_msr flag is used.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
tools/power/x86/turbostat/turbostat.c

index 743db19a13c2490a0293f1f2dca8535cb68805e8..69c19e01b681cabe6e08fb7d67a12aff532b25dd 100644 (file)
@@ -7302,6 +7302,9 @@ void rapl_probe_intel(void)
        else
                bic_enabled &= ~bic_joules_bits;
 
+       if (!platform->rapl_msrs || no_msr)
+               return;
+
        if (!(platform->rapl_msrs & RAPL_PKG_PERF_STATUS))
                bic_enabled &= ~BIC_PKG__;
        if (!(platform->rapl_msrs & RAPL_DRAM_PERF_STATUS))
@@ -7352,6 +7355,9 @@ void rapl_probe_amd(void)
        else
                bic_enabled &= ~bic_joules_bits;
 
+       if (!platform->rapl_msrs || no_msr)
+               return;
+
        if (get_msr(base_cpu, MSR_RAPL_PWR_UNIT, &msr))
                return;
 
@@ -7504,9 +7510,6 @@ int print_rapl(struct thread_data *t, struct core_data *c, struct pkg_data *p)
  */
 void probe_rapl(void)
 {
-       if (!platform->rapl_msrs || no_msr)
-               return;
-
        if (genuine_intel)
                rapl_probe_intel();
        if (authentic_amd || hygon_genuine)
@@ -7515,6 +7518,9 @@ void probe_rapl(void)
        if (quiet)
                return;
 
+       if (!platform->rapl_msrs || no_msr)
+               return;
+
        for_all_cpus(print_rapl, ODD_COUNTERS);
 }