mirror of https://gitee.com/openkylin/linux.git
tools/power turbostat: Print /dev/cpu_dma_latency
Users are puzzled when they use tuned performance and all their C-states vanish. Dump /dev/cpu_dma_latency and state whether the value is default, or constraining, to explain this situation. Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
e00b62f0b0
commit
d76bb7a09b
|
@ -4698,6 +4698,32 @@ unsigned int intel_model_duplicates(unsigned int model)
|
||||||
}
|
}
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void print_dev_latency(void)
|
||||||
|
{
|
||||||
|
char *path = "/dev/cpu_dma_latency";
|
||||||
|
int fd;
|
||||||
|
int value;
|
||||||
|
int retval;
|
||||||
|
|
||||||
|
fd = open(path, O_RDONLY);
|
||||||
|
if (fd < 0) {
|
||||||
|
warn("fopen %s\n", path);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
retval = read(fd, (void *)&value, sizeof(int));
|
||||||
|
if (retval != sizeof(int)) {
|
||||||
|
warn("read %s\n", path);
|
||||||
|
close(fd);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
fprintf(outf, "/dev/cpu_dma_latency: %d usec (%s)\n",
|
||||||
|
value, value == 2000000000 ? "default" : "constrained");
|
||||||
|
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
void process_cpuid()
|
void process_cpuid()
|
||||||
{
|
{
|
||||||
unsigned int eax, ebx, ecx, edx;
|
unsigned int eax, ebx, ecx, edx;
|
||||||
|
@ -4966,6 +4992,8 @@ void process_cpuid()
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
dump_cstate_pstate_config_info(family, model);
|
dump_cstate_pstate_config_info(family, model);
|
||||||
|
|
||||||
|
if (!quiet)
|
||||||
|
print_dev_latency();
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
dump_sysfs_cstate_config();
|
dump_sysfs_cstate_config();
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
|
|
Loading…
Reference in New Issue