Cpuidle menu governor is using u32 as a temporary datatype for storing
nanosecond values which wrap around at 4.294 seconds. This causes errors
in predicted sleep times resulting in higher than should be C state
selection and increased power consumption. This also breaks cpuidle
state residency statistics.
cc: <email address hidden> # .32.x through .39.x
Signed-off-by: Tero Kristo <email address hidden>
Signed-off-by: Len Brown <email address hidden>
(cherry picked from commit 7467571f4480b273007517b26297c07154c73924)
Acked-by: Stefan Bader <email address hidden>
Signed-off-by: Tim Gardner <email address hidden>
This should fix a bug with incorrect C state selection which lead to increased power consumption.
I suggest testing out the latest natty -proposed kernel, it contains commit 9ee653dce0efc6b ad29f0d68b4ac74 dbed093131
commit 9ee653dce0efc6b ad29f0d68b4ac74 dbed093131
Author: Tero Kristo <email address hidden>
Date: Thu Feb 24 17:19:23 2011 +0200
cpuidle: menu: fixed wrapping timers at 4.294 seconds
BugLink: http:// bugs.launchpad. net/bugs/ 774947
Cpuidle menu governor is using u32 as a temporary datatype for storing
nanosecond values which wrap around at 4.294 seconds. This causes errors
in predicted sleep times resulting in higher than should be C state
selection and increased power consumption. This also breaks cpuidle
state residency statistics.
cc: <email address hidden> # .32.x through .39.x 3007517b26297c0 7154c73924)
Signed-off-by: Tero Kristo <email address hidden>
Signed-off-by: Len Brown <email address hidden>
(cherry picked from commit 7467571f4480b27
Acked-by: Stefan Bader <email address hidden>
Signed-off-by: Tim Gardner <email address hidden>
This should fix a bug with incorrect C state selection which lead to increased power consumption.