Hi Andrey,
This is more of announcement than a PULL request. :)
Most of us are working with interactive governor. But most of us use a different version of it, as it is not yet mainlined and there is no hope of it getting mainlined.
http://lists.linaro.org/pipermail/linaro-kernel/2012-February/001122.html
So, we have decided to keep the latest version within Linaro and make it part of our release, so that everybody works with the same version and use it in ubuntu as well.
I am keeping it in my big LITTLE MP repository in separate branches: - cpufreq-interactive-gov-master-v*: Latest version of governor from google tree - cpufreq-interactive-gov-experimental-v*: Rebased over master with updates from Linaro.
This is a PULL request for master branch:
--------------
The following changes since commit 9489e9dcae718d5fde988e4a684a0f55b5f94d17:
Linux 3.7-rc7 (2012-11-25 17:59:19 -0800)
are available in the git repository at:
git://git.linaro.org/arm/big.LITTLE/mp.git cpufreq-interactive-gov-master-v1
for you to fetch changes up to 1ad5d36179224fbcdddf8abf3cbfdd183da38b3e:
cpufreq: interactive: kick timer on idle exit past expiry (2012-11-29 00:48:46 +0530)
---------------------------------------------------------------- John Stultz (1): cpufreq-interactive: Compile fixup
Lianwei Wang (1): cpufreq: interactive: use deferrable timer by default
Mike Chan (1): cpufreq: interactive: New 'interactive' governor
Sam Leffler (2): cpufreq: interactive: take idle notifications only when active cpufreq: interactive: keep freezer happy when not current governor
Todd Poynor (24): Move x86_64 idle notifiers to generic ARM: Call idle notifiers ARM: Move leds idle start/stop calls to idle notifiers cpufreq interactive governor: event tracing cpufreq: interactive: apply intermediate load to max speed not current cpufreq: interactive: set at least hispeed when above hispeed load cpufreq: interactive: don't drop speed if recently at higher load cpufreq: interactive: configurable delay before raising above hispeed cpufreq: interactive: adjust code and documentation to match cpufreq: interactive: base hispeed bump on target freq, not actual cpufreq: interactive: Separate speed target revalidate time and initial set time cpufreq: interactive: Boost frequency on touchscreen input cpufreq: interactive: remove unused target_validate_time_in_idle cpufreq: interactive: Add sysfs boost interface for hints from userspace cpufreq: interactive: set floor for boosted speed cpufreq: interactive: add boost pulse interface cpufreq: interactive: restart above_hispeed_delay at each hispeed load cpufreq: interactive: fixup trace of string params cpufreq: interactive: handle speed up and down in the realtime task cpufreq: interactive: remove input_boost handling cpufreq: interactive: always limit initial speed bump to hispeed cpufreq: interactive: run at fraction of hispeed_freq when load is low cpufreq: interactive: pin timers to associated CPU cpufreq: interactive: kick timer on idle exit past expiry
Documentation/cpu-freq/governors.txt | 59 +++ arch/arm/kernel/process.c | 4 +- arch/x86/include/asm/idle.h | 7 - arch/x86/kernel/process.c | 17 +- drivers/cpufreq/Kconfig | 27 ++ drivers/cpufreq/Makefile | 1 + drivers/cpufreq/cpufreq_interactive.c | 754 +++++++++++++++++++++++++++++ drivers/leds/ledtrig-cpu.c | 25 + include/linux/cpu.h | 7 + include/linux/cpufreq.h | 3 + include/trace/events/cpufreq_interactive.h | 106 ++++ kernel/cpu.c | 20 + 12 files changed, 1006 insertions(+), 24 deletions(-) create mode 100644 drivers/cpufreq/cpufreq_interactive.c create mode 100644 include/trace/events/cpufreq_interactive.h