This is the third and final set of patches towards a fully functional
and production quality switcher solution for big.LITTLE systems,
establishing a landmark to compare against for any scheduler based
solution meant to eventually surpass the switcher's power efficiency
available in the mainline kernel.
Rationale for this code: http://lwn.net/Articles/481055/
The first and second patch sets have already been merged by RMK. They
implement the core switcher mechanism. This set adds the necessary code
to drive the switcher based on cpufreq governor decisions.
This set (v2) was rebased on top of the latest linux-pm tree as
requested by Rafael.
Hi Rafael,
Thanks for applying the first four sets.
This is the last set that I had for v3.13, see if you can get it applied for
v3.13.. It shouldn't create much issues I believe, as the changes shouldn't make
any difference in the way code is supposed to work..
I know this might be late for 3.13, but I am just trying my luck :)
Viresh Kumar (16):
cpufreq: create cpufreq_generic_get() routine
cpufreq: at32ap: use cpufreq_generic_get() routine
cpufreq: cpu0: use cpufreq_generic_get() routine
cpufreq: davinci: use cpufreq_generic_get() routine
cpufreq: dbx500: use cpufreq_generic_get() routine
cpufreq: exynos: use cpufreq_generic_get() routine
cpufreq: imx6q: use cpufreq_generic_get() routine
cpufreq: loongson2: use cpufreq_generic_get() routine
cpufreq: omap: use cpufreq_generic_get() routine
cpufreq: ppc: use cpufreq_generic_get() routine
cpufreq: s3c: use cpufreq_generic_get() routine
cpufreq: s5pv210: use cpufreq_generic_get() routine
cpufreq: spear: use cpufreq_generic_get() routine
cpufreq: tegra: remove target_cpu_speed[] array
cpufreq: tegra: use cpufreq_generic_get() routine
cpufreq: unicore2: use cpufreq_generic_get() routine
drivers/cpufreq/at32ap-cpufreq.c | 17 ++++--------
drivers/cpufreq/cpufreq-cpu0.c | 8 ++----
drivers/cpufreq/cpufreq.c | 26 +++++++++++++-----
drivers/cpufreq/davinci-cpufreq.c | 14 +++-------
drivers/cpufreq/dbx500-cpufreq.c | 19 ++-----------
drivers/cpufreq/exynos-cpufreq.c | 10 +++----
drivers/cpufreq/exynos5440-cpufreq.c | 33 ++++++++++-------------
drivers/cpufreq/imx6q-cpufreq.c | 8 ++----
drivers/cpufreq/loongson2_cpufreq.c | 15 ++++-------
drivers/cpufreq/omap-cpufreq.c | 32 +++++++---------------
drivers/cpufreq/ppc-corenet-cpufreq.c | 17 +++---------
drivers/cpufreq/s3c24xx-cpufreq.c | 10 +++----
drivers/cpufreq/s3c64xx-cpufreq.c | 33 +++++++++--------------
drivers/cpufreq/s5pv210-cpufreq.c | 21 +++++----------
drivers/cpufreq/spear-cpufreq.c | 8 ++----
drivers/cpufreq/tegra-cpufreq.c | 50 ++++++-----------------------------
drivers/cpufreq/unicore2-cpufreq.c | 21 ++++++---------
include/linux/cpufreq.h | 3 +++
18 files changed, 113 insertions(+), 232 deletions(-)
--
1.7.12.rc2.18.g61b472e
This is the third and final set of patches towards a fully functional
and production quality switcher solution for big.LITTLE systems,
establishing a landmark to compare against for any scheduler based
solution meant to eventually surpass the switcher's power efficiency
available in the mainline kernel.
Rationale for this code: http://lwn.net/Articles/481055/
The first and second patch sets have already been merged by RMK. They
implement the core switcher mechanism. This set adds the necessary code
to drive the switcher based on cpufreq governor decisions.
drivers/cpufreq/arm_big_little.c | 418 ++++++++++++++++++++++++++++++---
drivers/cpufreq/arm_big_little.h | 5 -
2 files changed, 389 insertions(+), 34 deletions(-)