Skip to content

Commit ce7a32c

Browse files
committed
tools/power/turbostat: Reorder some functions
Reorder some functions to solve code depdency introduced by next patch. No functional change. Signed-off-by: Zhang Rui <rui.zhang@intel.com> Reviewed-by: Len Brown <len.brown@intel.com>
1 parent db735f8 commit ce7a32c

1 file changed

Lines changed: 107 additions & 107 deletions

File tree

tools/power/x86/turbostat/turbostat.c

Lines changed: 107 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -4878,92 +4878,6 @@ void rapl_probe_amd(void)
48784878
fprintf(outf, "RAPL: %.0f sec. Joule Counter Range, at %.0f Watts\n", rapl_joule_counter_range, tdp);
48794879
}
48804880

4881-
/*
4882-
* probe_rapl()
4883-
*
4884-
* sets rapl_power_units, rapl_energy_units, rapl_time_units
4885-
*/
4886-
void probe_rapl(void)
4887-
{
4888-
if (!platform->rapl_msrs)
4889-
return;
4890-
4891-
if (genuine_intel)
4892-
rapl_probe_intel();
4893-
if (authentic_amd || hygon_genuine)
4894-
rapl_probe_amd();
4895-
}
4896-
4897-
void probe_thermal(void)
4898-
{
4899-
if (!access("/sys/devices/system/cpu/cpu0/thermal_throttle/core_throttle_count", R_OK))
4900-
BIC_PRESENT(BIC_CORE_THROT_CNT);
4901-
else
4902-
BIC_NOT_PRESENT(BIC_CORE_THROT_CNT);
4903-
}
4904-
4905-
int print_thermal(struct thread_data *t, struct core_data *c, struct pkg_data *p)
4906-
{
4907-
unsigned long long msr;
4908-
unsigned int dts, dts2;
4909-
int cpu;
4910-
4911-
UNUSED(c);
4912-
UNUSED(p);
4913-
4914-
if (!(do_dts || do_ptm))
4915-
return 0;
4916-
4917-
cpu = t->cpu_id;
4918-
4919-
/* DTS is per-core, no need to print for each thread */
4920-
if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE))
4921-
return 0;
4922-
4923-
if (cpu_migrate(cpu)) {
4924-
fprintf(outf, "print_thermal: Could not migrate to CPU %d\n", cpu);
4925-
return -1;
4926-
}
4927-
4928-
if (do_ptm && (t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) {
4929-
if (get_msr(cpu, MSR_IA32_PACKAGE_THERM_STATUS, &msr))
4930-
return 0;
4931-
4932-
dts = (msr >> 16) & 0x7F;
4933-
fprintf(outf, "cpu%d: MSR_IA32_PACKAGE_THERM_STATUS: 0x%08llx (%d C)\n", cpu, msr, tj_max - dts);
4934-
4935-
if (get_msr(cpu, MSR_IA32_PACKAGE_THERM_INTERRUPT, &msr))
4936-
return 0;
4937-
4938-
dts = (msr >> 16) & 0x7F;
4939-
dts2 = (msr >> 8) & 0x7F;
4940-
fprintf(outf, "cpu%d: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x%08llx (%d C, %d C)\n",
4941-
cpu, msr, tj_max - dts, tj_max - dts2);
4942-
}
4943-
4944-
if (do_dts && debug) {
4945-
unsigned int resolution;
4946-
4947-
if (get_msr(cpu, MSR_IA32_THERM_STATUS, &msr))
4948-
return 0;
4949-
4950-
dts = (msr >> 16) & 0x7F;
4951-
resolution = (msr >> 27) & 0xF;
4952-
fprintf(outf, "cpu%d: MSR_IA32_THERM_STATUS: 0x%08llx (%d C +/- %d)\n",
4953-
cpu, msr, tj_max - dts, resolution);
4954-
4955-
if (get_msr(cpu, MSR_IA32_THERM_INTERRUPT, &msr))
4956-
return 0;
4957-
4958-
dts = (msr >> 16) & 0x7F;
4959-
dts2 = (msr >> 8) & 0x7F;
4960-
fprintf(outf, "cpu%d: MSR_IA32_THERM_INTERRUPT: 0x%08llx (%d C, %d C)\n",
4961-
cpu, msr, tj_max - dts, tj_max - dts2);
4962-
}
4963-
4964-
return 0;
4965-
}
4966-
49674881
void print_power_limit_msr(int cpu, unsigned long long msr, char *label)
49684882
{
49694883
fprintf(outf, "cpu%d: %s: %sabled (%0.3f Watts, %f sec, clamp %sabled)\n",
@@ -5095,29 +5009,20 @@ int print_rapl(struct thread_data *t, struct core_data *c, struct pkg_data *p)
50955009
return 0;
50965010
}
50975011

5098-
int get_cpu_type(struct thread_data *t, struct core_data *c, struct pkg_data *p)
5012+
/*
5013+
* probe_rapl()
5014+
*
5015+
* sets rapl_power_units, rapl_energy_units, rapl_time_units
5016+
*/
5017+
void probe_rapl(void)
50995018
{
5100-
unsigned int eax, ebx, ecx, edx;
5101-
5102-
UNUSED(c);
5103-
UNUSED(p);
5104-
5105-
if (!genuine_intel)
5106-
return 0;
5107-
5108-
if (cpu_migrate(t->cpu_id)) {
5109-
fprintf(outf, "Could not migrate to CPU %d\n", t->cpu_id);
5110-
return -1;
5111-
}
5112-
5113-
if (max_level < 0x1a)
5114-
return 0;
5019+
if (!platform->rapl_msrs)
5020+
return;
51155021

5116-
__cpuid(0x1a, eax, ebx, ecx, edx);
5117-
eax = (eax >> 24) & 0xFF;
5118-
if (eax == 0x20)
5119-
t->is_atom = true;
5120-
return 0;
5022+
if (genuine_intel)
5023+
rapl_probe_intel();
5024+
if (authentic_amd || hygon_genuine)
5025+
rapl_probe_amd();
51215026
}
51225027

51235028
/*
@@ -5200,6 +5105,101 @@ int set_temperature_target(struct thread_data *t, struct core_data *c, struct pk
52005105
return 0;
52015106
}
52025107

5108+
int print_thermal(struct thread_data *t, struct core_data *c, struct pkg_data *p)
5109+
{
5110+
unsigned long long msr;
5111+
unsigned int dts, dts2;
5112+
int cpu;
5113+
5114+
UNUSED(c);
5115+
UNUSED(p);
5116+
5117+
if (!(do_dts || do_ptm))
5118+
return 0;
5119+
5120+
cpu = t->cpu_id;
5121+
5122+
/* DTS is per-core, no need to print for each thread */
5123+
if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE))
5124+
return 0;
5125+
5126+
if (cpu_migrate(cpu)) {
5127+
fprintf(outf, "print_thermal: Could not migrate to CPU %d\n", cpu);
5128+
return -1;
5129+
}
5130+
5131+
if (do_ptm && (t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) {
5132+
if (get_msr(cpu, MSR_IA32_PACKAGE_THERM_STATUS, &msr))
5133+
return 0;
5134+
5135+
dts = (msr >> 16) & 0x7F;
5136+
fprintf(outf, "cpu%d: MSR_IA32_PACKAGE_THERM_STATUS: 0x%08llx (%d C)\n", cpu, msr, tj_max - dts);
5137+
5138+
if (get_msr(cpu, MSR_IA32_PACKAGE_THERM_INTERRUPT, &msr))
5139+
return 0;
5140+
5141+
dts = (msr >> 16) & 0x7F;
5142+
dts2 = (msr >> 8) & 0x7F;
5143+
fprintf(outf, "cpu%d: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x%08llx (%d C, %d C)\n",
5144+
cpu, msr, tj_max - dts, tj_max - dts2);
5145+
}
5146+
5147+
if (do_dts && debug) {
5148+
unsigned int resolution;
5149+
5150+
if (get_msr(cpu, MSR_IA32_THERM_STATUS, &msr))
5151+
return 0;
5152+
5153+
dts = (msr >> 16) & 0x7F;
5154+
resolution = (msr >> 27) & 0xF;
5155+
fprintf(outf, "cpu%d: MSR_IA32_THERM_STATUS: 0x%08llx (%d C +/- %d)\n",
5156+
cpu, msr, tj_max - dts, resolution);
5157+
5158+
if (get_msr(cpu, MSR_IA32_THERM_INTERRUPT, &msr))
5159+
return 0;
5160+
5161+
dts = (msr >> 16) & 0x7F;
5162+
dts2 = (msr >> 8) & 0x7F;
5163+
fprintf(outf, "cpu%d: MSR_IA32_THERM_INTERRUPT: 0x%08llx (%d C, %d C)\n",
5164+
cpu, msr, tj_max - dts, tj_max - dts2);
5165+
}
5166+
5167+
return 0;
5168+
}
5169+
5170+
void probe_thermal(void)
5171+
{
5172+
if (!access("/sys/devices/system/cpu/cpu0/thermal_throttle/core_throttle_count", R_OK))
5173+
BIC_PRESENT(BIC_CORE_THROT_CNT);
5174+
else
5175+
BIC_NOT_PRESENT(BIC_CORE_THROT_CNT);
5176+
}
5177+
5178+
int get_cpu_type(struct thread_data *t, struct core_data *c, struct pkg_data *p)
5179+
{
5180+
unsigned int eax, ebx, ecx, edx;
5181+
5182+
UNUSED(c);
5183+
UNUSED(p);
5184+
5185+
if (!genuine_intel)
5186+
return 0;
5187+
5188+
if (cpu_migrate(t->cpu_id)) {
5189+
fprintf(outf, "Could not migrate to CPU %d\n", t->cpu_id);
5190+
return -1;
5191+
}
5192+
5193+
if (max_level < 0x1a)
5194+
return 0;
5195+
5196+
__cpuid(0x1a, eax, ebx, ecx, edx);
5197+
eax = (eax >> 24) & 0xFF;
5198+
if (eax == 0x20)
5199+
t->is_atom = true;
5200+
return 0;
5201+
}
5202+
52035203
void decode_feature_control_msr(void)
52045204
{
52055205
unsigned long long msr;

0 commit comments

Comments
 (0)