cpufreq: handle SW coordinated CPUs
authorRickard Andersson <rickard.andersson@stericsson.com>
Thu, 27 Dec 2012 14:55:38 +0000 (14:55 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 1 Feb 2013 23:01:13 +0000 (00:01 +0100)
commit2abfa876f1117b0ab45f191fb1f82c41b1cbc8fe
tree929f7c181cead27bc5c1d320c53ba0e99a9f0544
parent88b62b915b0b7e25870eb0604ed9a92ba4bfc9f7
cpufreq: handle SW coordinated CPUs

This patch fixes a bug that occurred when we had load on a secondary CPU
and the primary CPU was sleeping. Only one sampling timer was spawned
and it was spawned as a deferred timer on the primary CPU, so when a
secondary CPU had a change in load this was not detected by the cpufreq
governor (both ondemand and conservative).

This patch make sure that deferred timers are run on all CPUs in the
case of software controlled CPUs that run on the same frequency.

Signed-off-by: Rickard Andersson <rickard.andersson@stericsson.com>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq_conservative.c
drivers/cpufreq/cpufreq_governor.c
drivers/cpufreq/cpufreq_governor.h
drivers/cpufreq/cpufreq_ondemand.c