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.txt9
-rw-r--r--Documentation/cpu-freq/governors.txt27
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
111For setting some of these values, the frequency table helpers might be 111For setting some of these values (cpuinfo.min[max]_freq, policy->min[max]), the
112helpful. See the section 2 for more information on them. 112frequency table helpers might be helpful. See the section 2 for more information
113on them.
113 114
114SMP systems normally have same clock source for a group of cpus. For these the 115SMP 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
184As most cpufreq processors only allow for being set to a few specific 185As most cpufreq processors only allow for being set to a few specific
185frequencies, a "frequency table" with some functions might assist in 186frequencies, a "frequency table" with some functions might assist in
186some work of the processor driver. Such a "frequency table" consists 187some work of the processor driver. Such a "frequency table" consists
187of an array of struct cpufreq_freq_table entries, with any value in 188of 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
190cpufreq_freq_table entry with frequency set to CPUFREQ_TABLE_END. And 191cpufreq_frequency_table entry with frequency set to CPUFREQ_TABLE_END. And
191if you want to skip one entry in the table, set the frequency to 192if you want to skip one entry in the table, set the frequency to
192CPUFREQ_ENTRY_INVALID. The entries don't need to be in ascending 193CPUFREQ_ENTRY_INVALID. The entries don't need to be in ascending
193order. 194order.
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
167busy, rather than shifting back and forth in speed. This tunable has no 167busy, rather than shifting back and forth in speed. This tunable has no
168effect on behavior at lower speeds/lower CPU loads. 168effect on behavior at lower speeds/lower CPU loads.
169 169
170powersave_bias: this parameter takes a value between 0 to 1000. It
171defines the percentage (times 10) value of the target frequency that
172will be shaved off of the target. For example, when set to 100 -- 10%,
173when ondemand governor would have targeted 1000 MHz, it will target
1741000 MHz - (10% of 1000 MHz) = 900 MHz instead. This is set to 0
175(disabled) by default.
176When AMD frequency sensitivity powersave bias driver --
177drivers/cpufreq/amd_freq_sensitivity.c is loaded, this parameter
178defines the workload frequency sensitivity threshold in which a lower
179frequency is chosen instead of ondemand governor's original target.
180The frequency sensitivity is a hardware reported (on AMD Family 16h
181Processors and above) value between 0 to 100% that tells software how
182the performance of the workload running on a CPU will change when
183frequency changes. A workload with sensitivity of 0% (memory/IO-bound)
184will not perform any better on higher core frequency, whereas a
185workload with sensitivity of 100% (CPU-bound) will perform better
186higher the frequency. When the driver is loaded, this is set to 400
187by default -- for CPUs running workloads with sensitivity value below
18840%, a lower frequency is chosen. Unloading the driver or writing 0
189will disable this feature.
190
170 191
1712.5 Conservative 1922.5 Conservative
172---------------- 193----------------
@@ -191,6 +212,12 @@ governor but for the opposite direction. For example when set to its
191default value of '20' it means that if the CPU usage needs to be below 212default value of '20' it means that if the CPU usage needs to be below
19220% between samples to have the frequency decreased. 21320% between samples to have the frequency decreased.
193 214
215sampling_down_factor: similar functionality as in "ondemand" governor.
216But in "conservative", it controls the rate at which the kernel makes
217a decision on when to decrease the frequency while running in any
218speed. Load for frequency increase is still evaluated every
219sampling rate.
220
1943. The Governor Interface in the CPUfreq Core 2213. The Governor Interface in the CPUfreq Core
195============================================= 222=============================================
196 223