Update sched_boost_on_input to be an unsigned int
so that it can utilize the latest sched_boost APIs.
Change-Id: I42f626c9f0112aee3bb9f37fd62d77709f03ebcf
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
[avilaj@codeaurora.org: Change to sysfs from module_param]
Signed-off-by: Jonathan Avila <avilaj@codeaurora.org>
Scheduler provides an API to force tasks to the big cluster. To
improve performance, use this API to move most/all tasks to the
big cluster for short duration on an input event. On the removal of
frequency boost (after input_boost_ms), this scheduler boost is also
deactivated.
Change-Id: I9d643914ebc75266478cc22260a45862faad6236
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Jonathan Avila <avilaj@codeaurora.org>
Different types of CPUs could have different frequency to satisfy same
input workload. Add support for using different input_boost_freq on
different CPUs.
input_boost_freq now either takes a single number which applies to all
CPUs, or cpuid:freq pairs separated by space for different CPUs.
Change-Id: I20506a9fbdb4d532d94168bbd61744595bebc8e5
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
[avilaj@codeaurora.org: Change to sysfs from module param]
Signed-off-by: Jonathan Avila <avilaj@codeaurora.org>
When certain bursty and important events take place, it might take a while
for the current cpufreq governor to notice the new load and react to it.
That would result in poor user experience. To alleviate this, the cpu-boost
driver boosts the frequency of a CPU for at least input_boost_ms duration
on incoming input events to maintain good user experience while the
governor catches up. This is accomplished by changing the policy->min of
all the online cpus to input_boost_freq.
Since this driver enforces the boost by hooking into standard cpufreq
ADJUST notifiers, it has several advantages:
- More portable across kernel versions where the cpufreq internals might
have been rewritten.
- Governor agnostic and hence works with multiple governors like
conservative, ondemand, interactive, etc.
- Does not affect the sampling period/logic of existing governors.
- Can have the boost period adjusted independent of governor sampling
period.
Change-Id: Idb0ab75d68ae4ceff259cbbaaec1a9bb3bc871d3
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
[avilaj@codeaurora.org: Change from module_param to sysfs.]
Signed-off-by: Jonathan Avila <avilaj@codeaurora.org>