mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 17:23:36 +00:00
tools/cpupower: display residency value in idle-info
Update cpuidle tool to display the residency value of cpuidle states. This addition provides a clearer and more detailed view of idle state information when using cpuidle-info. -------------------------------- Before Patch: -------------------------------- $ cpupower idle-info CPUidle driver: intel_idle CPUidle governor: menu analyzing CPU 28: Number of idle states: 3 Available idle states: POLL C1 C1E POLL: Flags/Description: CPUIDLE CORE POLL IDLE Latency: 0 Usage: 7448 Duration: 207170 C1: Flags/Description: MWAIT 0x00 Latency: 2 Usage: 7023 Duration: 3736853 C1E: Flags/Description: MWAIT 0x01 Latency: 10 Usage: 18468 Duration: 11396212 -------------------------------- After Patch: -------------------------------- $ cpupower idle-info CPUidle driver: intel_idle CPUidle governor: menu analyzing CPU 12: Number of idle states: 3 Available idle states: POLL C1 C1E POLL: Flags/Description: CPUIDLE CORE POLL IDLE Latency: 0 Residency: 0 Usage: 1950 Duration: 38458 C1: Flags/Description: MWAIT 0x00 Latency: 2 Residency: 2 Usage: 10688 Duration: 7133020 C1E: Flags/Description: MWAIT 0x01 Latency: 10 Residency: 20 Usage: 22356 Duration: 15687259 -------------------------------- Signed-off-by: Aboorva Devarajan <aboorvad@linux.ibm.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
8400291e28
commit
76fb981ad6
@ -116,6 +116,7 @@ enum idlestate_value {
|
||||
IDLESTATE_USAGE,
|
||||
IDLESTATE_POWER,
|
||||
IDLESTATE_LATENCY,
|
||||
IDLESTATE_RESIDENCY,
|
||||
IDLESTATE_TIME,
|
||||
IDLESTATE_DISABLE,
|
||||
MAX_IDLESTATE_VALUE_FILES
|
||||
@ -125,6 +126,7 @@ static const char *idlestate_value_files[MAX_IDLESTATE_VALUE_FILES] = {
|
||||
[IDLESTATE_USAGE] = "usage",
|
||||
[IDLESTATE_POWER] = "power",
|
||||
[IDLESTATE_LATENCY] = "latency",
|
||||
[IDLESTATE_RESIDENCY] = "residency",
|
||||
[IDLESTATE_TIME] = "time",
|
||||
[IDLESTATE_DISABLE] = "disable",
|
||||
};
|
||||
@ -254,6 +256,12 @@ unsigned long cpuidle_state_latency(unsigned int cpu,
|
||||
return cpuidle_state_get_one_value(cpu, idlestate, IDLESTATE_LATENCY);
|
||||
}
|
||||
|
||||
unsigned long cpuidle_state_residency(unsigned int cpu,
|
||||
unsigned int idlestate)
|
||||
{
|
||||
return cpuidle_state_get_one_value(cpu, idlestate, IDLESTATE_RESIDENCY);
|
||||
}
|
||||
|
||||
unsigned long cpuidle_state_usage(unsigned int cpu,
|
||||
unsigned int idlestate)
|
||||
{
|
||||
|
@ -8,6 +8,8 @@ int cpuidle_state_disable(unsigned int cpu, unsigned int idlestate,
|
||||
unsigned int disable);
|
||||
unsigned long cpuidle_state_latency(unsigned int cpu,
|
||||
unsigned int idlestate);
|
||||
unsigned long cpuidle_state_residency(unsigned int cpu,
|
||||
unsigned int idlestate);
|
||||
unsigned long cpuidle_state_usage(unsigned int cpu,
|
||||
unsigned int idlestate);
|
||||
unsigned long long cpuidle_state_time(unsigned int cpu,
|
||||
|
@ -64,6 +64,8 @@ static void cpuidle_cpu_output(unsigned int cpu, int verbose)
|
||||
|
||||
printf(_("Latency: %lu\n"),
|
||||
cpuidle_state_latency(cpu, idlestate));
|
||||
printf(_("Residency: %lu\n"),
|
||||
cpuidle_state_residency(cpu, idlestate));
|
||||
printf(_("Usage: %lu\n"),
|
||||
cpuidle_state_usage(cpu, idlestate));
|
||||
printf(_("Duration: %llu\n"),
|
||||
@ -115,6 +117,8 @@ static void proc_cpuidle_cpu_output(unsigned int cpu)
|
||||
printf(_("promotion[--] demotion[--] "));
|
||||
printf(_("latency[%03lu] "),
|
||||
cpuidle_state_latency(cpu, cstate));
|
||||
printf(_("residency[%05lu] "),
|
||||
cpuidle_state_residency(cpu, cstate));
|
||||
printf(_("usage[%08lu] "),
|
||||
cpuidle_state_usage(cpu, cstate));
|
||||
printf(_("duration[%020Lu] \n"),
|
||||
|
Loading…
Reference in New Issue
Block a user