]> err.no Git - linux-2.6/commit
[CPUFREQ] ondemand: fix tickless accounting and software coordination bug
authorVenki Pallipadi <venkatesh.pallipadi@intel.com>
Wed, 20 Jun 2007 21:26:24 +0000 (14:26 -0700)
committerDave Jones <davej@redhat.com>
Thu, 21 Jun 2007 16:57:53 +0000 (12:57 -0400)
commitea48761519bd40d7a881c587b5f3177664b2987e
tree76694d9cd379490be903d8a73fa7588ad504197e
parent0af99b13c9f323e658b4f1d69a1ccae7d6f3f80a
[CPUFREQ] ondemand: fix tickless accounting and software coordination bug

With tickless kernel and software coordination os P-states, ondemand
can look at wrong idle statistics. This can happen when ondemand sampling
is happening on CPU 0 and due to software coordination sampling also looks at
utilization of CPU 1. If CPU 1 is in tickless state at that moment, its idle
statistics will not be uptodate and CPU 0 thinks CPU 1 is idle for less
amount of time than it actually is.

This can be resolved by looking at all the busy times of CPUs, which is
accurate, even with tickless, and use that to determine idle time in a
round about way (total time - busy time).

Thanks to Arjan for originally reporting the ondemand bug on
Lenovo T61.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
drivers/cpufreq/cpufreq_ondemand.c