mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 21:59:12 -04:00
Merge "cpuidle: record state entry failed statistics"
This commit is contained in:
commit
2542e1edab
4 changed files with 26 additions and 0 deletions
|
|
@ -18,6 +18,17 @@ if CPU_IDLE
|
|||
config CPU_IDLE_MULTIPLE_DRIVERS
|
||||
bool
|
||||
|
||||
config QGKI_CPUIDLE_FAILED_STAT
|
||||
bool "Record failed attempts at entering idle states"
|
||||
depends on QGKI
|
||||
help
|
||||
CPU idle maintains statistics for successful entry to each idle
|
||||
state. It is also useful to record statistics of failure to
|
||||
enter each idle state.
|
||||
|
||||
Save and report the failed statistics in sysfs along with usage
|
||||
statistics.
|
||||
|
||||
config CPU_IDLE_GOV_LADDER
|
||||
bool "Ladder governor (for periodic timer tick)"
|
||||
|
||||
|
|
|
|||
|
|
@ -291,6 +291,9 @@ int cpuidle_enter_state(struct cpuidle_device *dev, struct cpuidle_driver *drv,
|
|||
}
|
||||
} else {
|
||||
dev->last_residency = 0;
|
||||
#ifdef CONFIG_QGKI_CPUIDLE_FAILED_STAT
|
||||
dev->states_usage[index].failed++;
|
||||
#endif
|
||||
}
|
||||
|
||||
return entered_state;
|
||||
|
|
|
|||
|
|
@ -297,6 +297,9 @@ define_show_state_function(target_residency)
|
|||
define_show_state_function(power_usage)
|
||||
define_show_state_ull_function(usage)
|
||||
define_show_state_ull_function(time)
|
||||
#ifdef CONFIG_QGKI_CPUIDLE_FAILED_STAT
|
||||
define_show_state_ull_function(failed)
|
||||
#endif
|
||||
define_show_state_str_function(name)
|
||||
define_show_state_str_function(desc)
|
||||
define_show_state_ull_function(disable)
|
||||
|
|
@ -310,6 +313,9 @@ define_one_state_ro(latency, show_state_exit_latency);
|
|||
define_one_state_ro(residency, show_state_target_residency);
|
||||
define_one_state_ro(power, show_state_power_usage);
|
||||
define_one_state_ro(usage, show_state_usage);
|
||||
#ifdef CONFIG_QGKI_CPUIDLE_FAILED_STAT
|
||||
define_one_state_ro(failed, show_state_failed);
|
||||
#endif
|
||||
define_one_state_ro(time, show_state_time);
|
||||
define_one_state_rw(disable, show_state_disable, store_state_disable);
|
||||
define_one_state_ro(above, show_state_above);
|
||||
|
|
@ -322,6 +328,9 @@ static struct attribute *cpuidle_state_default_attrs[] = {
|
|||
&attr_residency.attr,
|
||||
&attr_power.attr,
|
||||
&attr_usage.attr,
|
||||
#ifdef CONFIG_QGKI_CPUIDLE_FAILED_STAT
|
||||
&attr_failed.attr,
|
||||
#endif
|
||||
&attr_time.attr,
|
||||
&attr_disable.attr,
|
||||
&attr_above.attr,
|
||||
|
|
|
|||
|
|
@ -35,6 +35,9 @@ struct cpuidle_state_usage {
|
|||
unsigned long long time; /* in US */
|
||||
unsigned long long above; /* Number of times it's been too deep */
|
||||
unsigned long long below; /* Number of times it's been too shallow */
|
||||
#ifdef CONFIG_QGKI_CPUIDLE_FAILED_STAT
|
||||
unsigned long long failed; /* Number of times it failed to enter */
|
||||
#endif
|
||||
#ifdef CONFIG_SUSPEND
|
||||
unsigned long long s2idle_usage;
|
||||
unsigned long long s2idle_time; /* in US */
|
||||
|
|
|
|||
Loading…
Reference in a new issue