tools/power turbostat: dump p-state software config

cpu1: cpufreq driver: acpi-cpufreq
cpu1: cpufreq governor: ondemand
cpufreq boost: 1

or

cpu0: cpufreq driver: intel_pstate
cpu0: cpufreq governor: powersave
cpufreq intel_pstate no_turbo: 0

Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
Len Brown 2017-02-22 00:11:12 -05:00
parent 7da6e3e212
commit 7293fccdff

View File

@ -2979,6 +2979,54 @@ dump_sysfs_cstate_config(void)
fclose(input);
}
}
static void
dump_sysfs_pstate_config(void)
{
char path[64];
char driver_buf[64];
char governor_buf[64];
FILE *input;
int turbo;
sprintf(path, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_driver",
base_cpu);
input = fopen(path, "r");
if (input == NULL) {
fprintf(stderr, "NSFOD %s\n", path);
return;
}
fgets(driver_buf, sizeof(driver_buf), input);
fclose(input);
sprintf(path, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor",
base_cpu);
input = fopen(path, "r");
if (input == NULL) {
fprintf(stderr, "NSFOD %s\n", path);
return;
}
fgets(governor_buf, sizeof(governor_buf), input);
fclose(input);
fprintf(outf, "cpu%d: cpufreq driver: %s", base_cpu, driver_buf);
fprintf(outf, "cpu%d: cpufreq governor: %s", base_cpu, governor_buf);
sprintf(path, "/sys/devices/system/cpu/cpufreq/boost");
input = fopen(path, "r");
if (input != NULL) {
fscanf(input, "%d", &turbo);
fprintf(outf, "cpufreq boost: %d\n", turbo);
fclose(input);
}
sprintf(path, "/sys/devices/system/cpu/intel_pstate/no_turbo");
input = fopen(path, "r");
if (input != NULL) {
fscanf(input, "%d", &turbo);
fprintf(outf, "cpufreq intel_pstate no_turbo: %d\n", turbo);
fclose(input);
}
}
/*
@ -4168,6 +4216,8 @@ void process_cpuid()
if (!quiet)
dump_sysfs_cstate_config();
if (!quiet)
dump_sysfs_pstate_config();
if (has_skl_msrs(family, model))
calculate_tsc_tweak();