aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/cpu-freq
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/cpu-freq')
-rw-r--r--Documentation/cpu-freq/cpu-drivers.txt2
-rw-r--r--Documentation/cpu-freq/governors.txt38
2 files changed, 39 insertions, 1 deletions
diff --git a/Documentation/cpu-freq/cpu-drivers.txt b/Documentation/cpu-freq/cpu-drivers.txt
index 6c30e930c12..c436096351f 100644
--- a/Documentation/cpu-freq/cpu-drivers.txt
+++ b/Documentation/cpu-freq/cpu-drivers.txt
@@ -168,7 +168,7 @@ in-chipset dynamic frequency switching to policy->min, the upper limit
168to policy->max, and -if supported- select a performance-oriented 168to policy->max, and -if supported- select a performance-oriented
169setting when policy->policy is CPUFREQ_POLICY_PERFORMANCE, and a 169setting when policy->policy is CPUFREQ_POLICY_PERFORMANCE, and a
170powersaving-oriented setting when CPUFREQ_POLICY_POWERSAVE. Also check 170powersaving-oriented setting when CPUFREQ_POLICY_POWERSAVE. Also check
171the reference implementation in arch/i386/kernel/cpu/cpufreq/longrun.c 171the reference implementation in drivers/cpufreq/longrun.c
172 172
173 173
174 174
diff --git a/Documentation/cpu-freq/governors.txt b/Documentation/cpu-freq/governors.txt
index e74d0a2eb1c..51b1cd360c3 100644
--- a/Documentation/cpu-freq/governors.txt
+++ b/Documentation/cpu-freq/governors.txt
@@ -28,6 +28,7 @@ Contents:
282.3 Userspace 282.3 Userspace
292.4 Ondemand 292.4 Ondemand
302.5 Conservative 302.5 Conservative
312.6 Interactive
31 32
323. The Governor Interface in the CPUfreq Core 333. The Governor Interface in the CPUfreq Core
33 34
@@ -193,6 +194,43 @@ governor but for the opposite direction. For example when set to its
193default value of '20' it means that if the CPU usage needs to be below 194default value of '20' it means that if the CPU usage needs to be below
19420% between samples to have the frequency decreased. 19520% between samples to have the frequency decreased.
195 196
197
1982.6 Interactive
199---------------
200
201The CPUfreq governor "interactive" is designed for latency-sensitive,
202interactive workloads. This governor sets the CPU speed depending on
203usage, similar to "ondemand" and "conservative" governors. However,
204the governor is more aggressive about scaling the CPU speed up in
205response to CPU-intensive activity.
206
207Sampling the CPU load every X ms can lead to under-powering the CPU
208for X ms, leading to dropped frames, stuttering UI, etc. Instead of
209sampling the cpu at a specified rate, the interactive governor will
210check whether to scale the cpu frequency up soon after coming out of
211idle. When the cpu comes out of idle, a timer is configured to fire
212within 1-2 ticks. If the cpu is very busy between exiting idle and
213when the timer fires then we assume the cpu is underpowered and ramp
214to MAX speed.
215
216If the cpu was not sufficiently busy to immediately ramp to MAX speed,
217then governor evaluates the cpu load since the last speed adjustment,
218choosing the highest value between that longer-term load or the
219short-term load since idle exit to determine the cpu speed to ramp to.
220
221The tuneable values for this governor are:
222
223min_sample_time: The minimum amount of time to spend at the current
224frequency before ramping down. This is to ensure that the governor has
225seen enough historic cpu load data to determine the appropriate
226workload. Default is 80000 uS.
227
228go_maxspeed_load: The CPU load at which to ramp to max speed. Default
229is 85.
230
231timer_rate: Sample rate for reevaluating cpu load when the system is
232not idle. Default is 30000 uS.
233
1963. The Governor Interface in the CPUfreq Core 2343. The Governor Interface in the CPUfreq Core
197============================================= 235=============================================
198 236