diff options
Diffstat (limited to 'Documentation/cpu-freq')
-rw-r--r-- | Documentation/cpu-freq/cpu-drivers.txt | 9 | ||||
-rw-r--r-- | Documentation/cpu-freq/governors.txt | 27 |
2 files changed, 32 insertions, 4 deletions
diff --git a/Documentation/cpu-freq/cpu-drivers.txt b/Documentation/cpu-freq/cpu-drivers.txt index 72f70b16d299..a3585eac83b6 100644 --- a/Documentation/cpu-freq/cpu-drivers.txt +++ b/Documentation/cpu-freq/cpu-drivers.txt | |||
@@ -108,8 +108,9 @@ policy->governor must contain the "default policy" for | |||
108 | cpufreq_driver.target is called with | 108 | cpufreq_driver.target is called with |
109 | these values. | 109 | these values. |
110 | 110 | ||
111 | For setting some of these values, the frequency table helpers might be | 111 | For setting some of these values (cpuinfo.min[max]_freq, policy->min[max]), the |
112 | helpful. See the section 2 for more information on them. | 112 | frequency table helpers might be helpful. See the section 2 for more information |
113 | on them. | ||
113 | 114 | ||
114 | SMP systems normally have same clock source for a group of cpus. For these the | 115 | SMP systems normally have same clock source for a group of cpus. For these the |
115 | .init() would be called only once for the first online cpu. Here the .init() | 116 | .init() would be called only once for the first online cpu. Here the .init() |
@@ -184,10 +185,10 @@ the reference implementation in drivers/cpufreq/longrun.c | |||
184 | As most cpufreq processors only allow for being set to a few specific | 185 | As most cpufreq processors only allow for being set to a few specific |
185 | frequencies, a "frequency table" with some functions might assist in | 186 | frequencies, a "frequency table" with some functions might assist in |
186 | some work of the processor driver. Such a "frequency table" consists | 187 | some work of the processor driver. Such a "frequency table" consists |
187 | of an array of struct cpufreq_freq_table entries, with any value in | 188 | of an array of struct cpufreq_frequency_table entries, with any value in |
188 | "index" you want to use, and the corresponding frequency in | 189 | "index" you want to use, and the corresponding frequency in |
189 | "frequency". At the end of the table, you need to add a | 190 | "frequency". At the end of the table, you need to add a |
190 | cpufreq_freq_table entry with frequency set to CPUFREQ_TABLE_END. And | 191 | cpufreq_frequency_table entry with frequency set to CPUFREQ_TABLE_END. And |
191 | if you want to skip one entry in the table, set the frequency to | 192 | if you want to skip one entry in the table, set the frequency to |
192 | CPUFREQ_ENTRY_INVALID. The entries don't need to be in ascending | 193 | CPUFREQ_ENTRY_INVALID. The entries don't need to be in ascending |
193 | order. | 194 | order. |
diff --git a/Documentation/cpu-freq/governors.txt b/Documentation/cpu-freq/governors.txt index e3e5d9ae50cd..219970ba54b7 100644 --- a/Documentation/cpu-freq/governors.txt +++ b/Documentation/cpu-freq/governors.txt | |||
@@ -167,6 +167,27 @@ of load evaluation and helping the CPU stay at its top speed when truly | |||
167 | busy, rather than shifting back and forth in speed. This tunable has no | 167 | busy, rather than shifting back and forth in speed. This tunable has no |
168 | effect on behavior at lower speeds/lower CPU loads. | 168 | effect on behavior at lower speeds/lower CPU loads. |
169 | 169 | ||
170 | powersave_bias: this parameter takes a value between 0 to 1000. It | ||
171 | defines the percentage (times 10) value of the target frequency that | ||
172 | will be shaved off of the target. For example, when set to 100 -- 10%, | ||
173 | when ondemand governor would have targeted 1000 MHz, it will target | ||
174 | 1000 MHz - (10% of 1000 MHz) = 900 MHz instead. This is set to 0 | ||
175 | (disabled) by default. | ||
176 | When AMD frequency sensitivity powersave bias driver -- | ||
177 | drivers/cpufreq/amd_freq_sensitivity.c is loaded, this parameter | ||
178 | defines the workload frequency sensitivity threshold in which a lower | ||
179 | frequency is chosen instead of ondemand governor's original target. | ||
180 | The frequency sensitivity is a hardware reported (on AMD Family 16h | ||
181 | Processors and above) value between 0 to 100% that tells software how | ||
182 | the performance of the workload running on a CPU will change when | ||
183 | frequency changes. A workload with sensitivity of 0% (memory/IO-bound) | ||
184 | will not perform any better on higher core frequency, whereas a | ||
185 | workload with sensitivity of 100% (CPU-bound) will perform better | ||
186 | higher the frequency. When the driver is loaded, this is set to 400 | ||
187 | by default -- for CPUs running workloads with sensitivity value below | ||
188 | 40%, a lower frequency is chosen. Unloading the driver or writing 0 | ||
189 | will disable this feature. | ||
190 | |||
170 | 191 | ||
171 | 2.5 Conservative | 192 | 2.5 Conservative |
172 | ---------------- | 193 | ---------------- |
@@ -191,6 +212,12 @@ governor but for the opposite direction. For example when set to its | |||
191 | default value of '20' it means that if the CPU usage needs to be below | 212 | default value of '20' it means that if the CPU usage needs to be below |
192 | 20% between samples to have the frequency decreased. | 213 | 20% between samples to have the frequency decreased. |
193 | 214 | ||
215 | sampling_down_factor: similar functionality as in "ondemand" governor. | ||
216 | But in "conservative", it controls the rate at which the kernel makes | ||
217 | a decision on when to decrease the frequency while running in any | ||
218 | speed. Load for frequency increase is still evaluated every | ||
219 | sampling rate. | ||
220 | |||
194 | 3. The Governor Interface in the CPUfreq Core | 221 | 3. The Governor Interface in the CPUfreq Core |
195 | ============================================= | 222 | ============================================= |
196 | 223 | ||