aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorjt1134 <jt1134@gmail.com>2012-10-17 20:11:59 -0500
committerjt1134 <jt1134@gmail.com>2012-10-19 23:33:00 -0500
commite6a4849e8cc21f40233a0ab331897783be38637a (patch)
tree7e95eb8c6ad38e3da82e7d6b9ca4dc4f9f6896c6 /include/trace
parentffa76445977654ad42a5a8138b2e685971c84d7d (diff)
downloadkernel_samsung_aries-e6a4849e8cc21f40233a0ab331897783be38637a.zip
kernel_samsung_aries-e6a4849e8cc21f40233a0ab331897783be38637a.tar.gz
kernel_samsung_aries-e6a4849e8cc21f40233a0ab331897783be38637a.tar.bz2
cpufreq: enable and update interactive governor
This is a squashed commit of the following: cpufreq: interactive: add show_boost sysfs entry Signed-off-by: jt1134 <jt1134@gmail.com> cpufreq: interactive: take idle notifications only when active Register an idle notifier only when the governor is active. Also short-circuit work of idle end if the governor is not enabled. Signed-off-by: Sam Leffler <sleffler@chromium.org> cpufreq: interactive: keep freezer happy when not current governor Fix a problem where the hung task mechanism was deeming the interactive clock boost thread as hung. This was because the thread is created at module init but never run/woken up until needed. If the governor is not being used this can be forever. To workaround this explicitly wake up the thread once all the necessary data structures are initialized. The latter required some minor code shuffle. Signed-off-by: Sam Leffler <sleffler@chromium.org> cpufreq: interactive: handle speed up and down in the realtime task Not useful to have a separate, non-realtime workqueue for speed down events, avoid priority inversion for speed up events. Signed-off-by: Todd Poynor <toddpoynor@google.com> cpufreq: interactive: remove input_boost handling Now handled in userspace Power HAL instead. Signed-off-by: Todd Poynor <toddpoynor@google.com> cpufreq: fix interactive bug during hotplug When a new cpu is added and if does not enter idle for long, the interactive timer is not started and hence the cpu remains at lowest frequecny, despite the system load. This impacts mainly benchmarks. Starting a timer at governor start to handle low frequency. Signed-off-by: Narayanan Gopalakrishnan <nargop@codeaurora.org> cpufreq: interactive: always limit initial speed bump to hispeed First bump speed up to hispeed_freq whenever the current speed is below hispeed_freq, instead of only when the current speed is the minimum speed. The previous code made it too difficult to use hispeed_freq as a common intermediate speed on systems that frequently run at speeds between minimum and hispeed_freq. Signed-off-by: Todd Poynor <toddpoynor@google.com> cpufreq: interactive: run at fraction of hispeed_freq when load is low When load is below go_hispeed_load, apply the percentage of CPU load to a max frequency of hispeed_freq instead of the max speed. This avoids jumping too quickly to hispeed_freq when it is a relatively low percentage of max speed. This also allows go_hispeed_load to be set to a high percentage relative to hispeed_freq (as a percentage of max speed, again useful when hispeed_freq is a low fraction of max speed), to cap larger loads at hispeed_freq. For example, a load of 60% will typically move to 60% of hispeed_freq, not 60% of max speed. This causes the governor to apply two different speed caps, depending on whether load is below or above go_hispeed_load. Also fix the type of hispeed_freq, which was u64, to match other speed data types (and avoid overhead and allow division). Signed-off-by: Todd Poynor <toddpoynor@google.com> cpufreq: interactive: add boostpulse duration This makes up for the portions missing that would've been written by Narayanan Gopalakrishnan but they were missing (duration, and boost time) and also adds the ability to set duration (which was originally created by cyanogen) Signed-off-by: Narayanan Gopalakrishnan <nargop@codeaurora.org> Change-Id: Iba70ed3580dd04704b0d7b4acde178df7a843b5f
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/cpufreq_interactive.h8
1 files changed, 1 insertions, 7 deletions
diff --git a/include/trace/events/cpufreq_interactive.h b/include/trace/events/cpufreq_interactive.h
index ea83664..ecec797 100644
--- a/include/trace/events/cpufreq_interactive.h
+++ b/include/trace/events/cpufreq_interactive.h
@@ -28,13 +28,7 @@ DECLARE_EVENT_CLASS(set,
__entry->actualfreq)
);
-DEFINE_EVENT(set, cpufreq_interactive_up,
- TP_PROTO(u32 cpu_id, unsigned long targfreq,
- unsigned long actualfreq),
- TP_ARGS(cpu_id, targfreq, actualfreq)
-);
-
-DEFINE_EVENT(set, cpufreq_interactive_down,
+DEFINE_EVENT(set, cpufreq_interactive_setspeed,
TP_PROTO(u32 cpu_id, unsigned long targfreq,
unsigned long actualfreq),
TP_ARGS(cpu_id, targfreq, actualfreq)