summaryrefslogtreecommitdiff
path: root/tools/power
diff options
context:
space:
mode:
authorZhang Rui <rui.zhang@intel.com>2023-08-30 16:54:51 +0800
committerZhang Rui <rui.zhang@intel.com>2023-09-27 22:14:20 +0800
commit5612b2c89bd0a3a2f7c9e8756e6ead971b03f8a3 (patch)
treeb324c4c8e2a76b2220039890427078da3bf8d14f /tools/power
parentce7a32c2a4cdba06ed5ead4ed8f980c893e20cd2 (diff)
tools/power/turbostat: Relocate more probing related code
Relocate more feature probing code outside of process_cpuids() into the corresponding probing functions. This improves the readability of code and the turbostat output. Signed-off-by: Zhang Rui <rui.zhang@intel.com> Reviewed-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'tools/power')
-rw-r--r--tools/power/x86/turbostat/turbostat.c37
1 files changed, 17 insertions, 20 deletions
diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
index eb333612bdec..ffeee48e8d85 100644
--- a/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c
@@ -5023,6 +5023,11 @@ void probe_rapl(void)
rapl_probe_intel();
if (authentic_amd || hygon_genuine)
rapl_probe_amd();
+
+ if (quiet)
+ return;
+
+ for_all_cpus(print_rapl, ODD_COUNTERS);
}
/*
@@ -5173,6 +5178,13 @@ void probe_thermal(void)
BIC_PRESENT(BIC_CORE_THROT_CNT);
else
BIC_NOT_PRESENT(BIC_CORE_THROT_CNT);
+
+ for_all_cpus(set_temperature_target, ODD_COUNTERS);
+
+ if (quiet)
+ return;
+
+ for_all_cpus(print_thermal, ODD_COUNTERS);
}
int get_cpu_type(struct thread_data *t, struct core_data *c, struct pkg_data *p)
@@ -5380,6 +5392,7 @@ void probe_cstates(void)
decode_c6_demotion_policy_msr();
print_dev_latency();
dump_sysfs_cstate_config();
+ print_irtl();
}
void probe_lpi(void)
@@ -5413,6 +5426,10 @@ void probe_pstates(void)
dump_turbo_ratio_info();
dump_sysfs_pstate_config();
decode_misc_pwr_mgmt_msr();
+
+ for_all_cpus(print_hwp, ODD_COUNTERS);
+ for_all_cpus(print_epb, ODD_COUNTERS);
+ for_all_cpus(print_perf_limit, ODD_COUNTERS);
}
void process_cpuid()
@@ -5897,29 +5914,9 @@ void turbostat_init()
process_cpuid();
linux_perf_init();
- if (!quiet)
- for_all_cpus(print_hwp, ODD_COUNTERS);
-
- if (!quiet)
- for_all_cpus(print_epb, ODD_COUNTERS);
-
- if (!quiet)
- for_all_cpus(print_perf_limit, ODD_COUNTERS);
-
- if (!quiet)
- for_all_cpus(print_rapl, ODD_COUNTERS);
-
- for_all_cpus(set_temperature_target, ODD_COUNTERS);
-
for_all_cpus(get_cpu_type, ODD_COUNTERS);
for_all_cpus(get_cpu_type, EVEN_COUNTERS);
- if (!quiet)
- for_all_cpus(print_thermal, ODD_COUNTERS);
-
- if (!quiet)
- print_irtl();
-
if (DO_BIC(BIC_IPC))
(void)get_instr_count_fd(base_cpu);
}