diff options
Diffstat (limited to 'Documentation/cpu-freq')
-rw-r--r-- | Documentation/cpu-freq/cpu-drivers.txt | 2 | ||||
-rw-r--r-- | Documentation/cpu-freq/governors.txt | 38 |
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 | |||
168 | to policy->max, and -if supported- select a performance-oriented | 168 | to policy->max, and -if supported- select a performance-oriented |
169 | setting when policy->policy is CPUFREQ_POLICY_PERFORMANCE, and a | 169 | setting when policy->policy is CPUFREQ_POLICY_PERFORMANCE, and a |
170 | powersaving-oriented setting when CPUFREQ_POLICY_POWERSAVE. Also check | 170 | powersaving-oriented setting when CPUFREQ_POLICY_POWERSAVE. Also check |
171 | the reference implementation in arch/i386/kernel/cpu/cpufreq/longrun.c | 171 | the 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: | |||
28 | 2.3 Userspace | 28 | 2.3 Userspace |
29 | 2.4 Ondemand | 29 | 2.4 Ondemand |
30 | 2.5 Conservative | 30 | 2.5 Conservative |
31 | 2.6 Interactive | ||
31 | 32 | ||
32 | 3. The Governor Interface in the CPUfreq Core | 33 | 3. 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 | |||
193 | default value of '20' it means that if the CPU usage needs to be below | 194 | default value of '20' it means that if the CPU usage needs to be below |
194 | 20% between samples to have the frequency decreased. | 195 | 20% between samples to have the frequency decreased. |
195 | 196 | ||
197 | |||
198 | 2.6 Interactive | ||
199 | --------------- | ||
200 | |||
201 | The CPUfreq governor "interactive" is designed for latency-sensitive, | ||
202 | interactive workloads. This governor sets the CPU speed depending on | ||
203 | usage, similar to "ondemand" and "conservative" governors. However, | ||
204 | the governor is more aggressive about scaling the CPU speed up in | ||
205 | response to CPU-intensive activity. | ||
206 | |||
207 | Sampling the CPU load every X ms can lead to under-powering the CPU | ||
208 | for X ms, leading to dropped frames, stuttering UI, etc. Instead of | ||
209 | sampling the cpu at a specified rate, the interactive governor will | ||
210 | check whether to scale the cpu frequency up soon after coming out of | ||
211 | idle. When the cpu comes out of idle, a timer is configured to fire | ||
212 | within 1-2 ticks. If the cpu is very busy between exiting idle and | ||
213 | when the timer fires then we assume the cpu is underpowered and ramp | ||
214 | to MAX speed. | ||
215 | |||
216 | If the cpu was not sufficiently busy to immediately ramp to MAX speed, | ||
217 | then governor evaluates the cpu load since the last speed adjustment, | ||
218 | choosing the highest value between that longer-term load or the | ||
219 | short-term load since idle exit to determine the cpu speed to ramp to. | ||
220 | |||
221 | The tuneable values for this governor are: | ||
222 | |||
223 | min_sample_time: The minimum amount of time to spend at the current | ||
224 | frequency before ramping down. This is to ensure that the governor has | ||
225 | seen enough historic cpu load data to determine the appropriate | ||
226 | workload. Default is 80000 uS. | ||
227 | |||
228 | go_maxspeed_load: The CPU load at which to ramp to max speed. Default | ||
229 | is 85. | ||
230 | |||
231 | timer_rate: Sample rate for reevaluating cpu load when the system is | ||
232 | not idle. Default is 30000 uS. | ||
233 | |||
196 | 3. The Governor Interface in the CPUfreq Core | 234 | 3. The Governor Interface in the CPUfreq Core |
197 | ============================================= | 235 | ============================================= |
198 | 236 | ||