linux/drivers/cpuidle
Youquan Song c96ca4fb76 cpuidle: Get typical recent sleep interval
The function detect_repeating_patterns was not very useful for
workloads with alternating long and short pauses, for example
virtual machines handling network requests for each other (say
a web and database server).

Instead, try to find a recent sleep interval that is somewhere
between the median and the mode sleep time, by discarding outliers
to the up side and recalculating the average and standard deviation
until that is no longer required.

This should do something sane with a sleep interval series like:

	200 180 210 10000 30 1000 170 200

The current code would simply discard such a series, while the
new code will guess a typical sleep interval just shy of 200.

The original patch come from Rik van Riel <riel@redhat.com>.

Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Youquan Song <youquan.song@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2012-11-15 00:34:20 +01:00
..
governors cpuidle: Get typical recent sleep interval 2012-11-15 00:34:20 +01:00
coupled.c cpuidle: Prevent null pointer dereference in cpuidle_coupled_cpu_notify 2012-08-17 19:37:08 +02:00
cpuidle.c cpuidle: Set residency to 0 if target Cstate not enter 2012-11-15 00:34:20 +01:00
cpuidle.h cpuidle / sysfs: change function parameter 2012-11-15 00:34:19 +01:00
driver.c cpuidle: rename function name "__cpuidle_register_driver", v2 2012-09-22 00:38:32 +02:00
governor.c cpuidle: create bootparam "cpuidle.off=1" 2011-08-03 19:06:36 -04:00
Kconfig cpuidle: add support for states that affect multiple cpus 2012-06-02 00:49:09 -04:00
Makefile cpuidle: add support for states that affect multiple cpus 2012-06-02 00:49:09 -04:00
sysfs.c cpuidle / sysfs: move kobj initialization in the syfs file 2012-11-15 00:34:19 +01:00