@@ -168,75 +168,20 @@ tried first.
168168Display available mechanisms for retrieving CPU P\- states information.
169169.TP
170170\f[B] \-\- min \- freq \f[ R ]
171- Retrieve the minimum CPU frequency using the \[aq ] sysfs\[aq ] or
172- \[aq ] msr\[aq ] mechanisms.
173- The \[aq ] sysfs\[aq ] mechanism reads
174- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/scaling_min_freq\[aq ] ,
175- while \[aq ] msr\[aq ] reads the MSR_HWP_REQUEST (0x774) register, bits
176- 7:0.
171+ Retrieve the minimum CPU frequency from
172+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/scaling_min_freq\[aq ] .
177173.TP
178174\f[B] \-\- max \- freq \f[ R ]
179- Retrieve the maximum CPU frequency using the \[aq ] sysfs\[aq ] or
180- \[aq ] msr\[aq ] mechanisms.
181- The \[aq ] sysfs\[aq ] mechanism reads
182- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/scaling_max_freq\[aq ] ,
183- while \[aq ] msr\[aq ] reads the MSR_HWP_REQUEST (0x774) register, bits
184- 15:8.
175+ Retrieve the maximum CPU frequency from
176+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/scaling_max_freq\[aq ] .
185177.TP
186178\f[B] \-\- min \- freq \- limit \f[ R ]
187- Retrieve the minimum supported CPU frequency using the \[aq ] sysfs\[aq ] ,
188- \[aq ] msr\[aq ] , and \[aq ] cppc\[aq ] mechanisms.
189- .RS
190- .PP
191- The \[aq ] sysfs\[aq ] mechanism returns the minimum CPU frequency
192- supported by the Linux kernel, it reads
193- \[dq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/cpuinfo_min_freq\[dq ] .
194- .PP
195- The \[aq ] msr\[aq ] mechanism reads MSR_PLATFORM_INFO (0xCE), bits 55:48.
196- .PP
197- The \[aq ] cppc\[aq ] mechanism reads
198- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/lowest_freq\[aq ] .
199- If unavailable, on non\- Intel platforms the frequency is calculated as
200- \[dq ] nominal_freq * lowest_perf / nominal_perf\[dq ] using values from:
201- nominal_freq:
202- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_freq\[aq ] ,
203- lowest_perf:
204- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/lowest_perf\[aq ] ,
205- nominal_perf:
206- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_perf\[aq ] .
207- .RE
179+ Retrieve the minimum supported CPU frequency from
180+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/cpuinfo_min_freq\[aq ] .
208181.TP
209182\f[B] \-\- max \- freq \- limit \f[ R ]
210- Retrieve the maximum supported CPU frequency using the \[aq ] sysfs\[aq ] ,
211- \[aq ] msr\[aq ] , and \[aq ] cppc\[aq ] mechanisms.
212- .RS
213- .PP
214- The \[aq ] sysfs\[aq ] mechanism returns the maximum CPU frequency
215- supported by the Linux kernel, it reads
216- \[dq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/cpuinfo_max_freq\[dq ] .
217- .PP
218- The \[aq ] msr\[aq ] mechanism retrieves the highest 1\- core turbo, also
219- known as P01.
220- If HWP (Hardware P\- states) is enabled, the \[aq ] msr\[aq ] mechanism
221- reads MSR_HWP_CAPABILITIES (0x771), bits 7:0, otherwise reads
222- MSR_TURBO_RATIO_LIMIT (0x1AD), bits 7:0.
223- .PP
224- The \[aq ] cppc\[aq ] mechanism reads
225- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/highest_freq\[aq ] .
226- If unavailable, on non\- Intel platforms the frequency is calculated as
227- \[dq ] nominal_freq * highest_perf / nominal_perf\[dq ] using values from:
228- nominal_freq:
229- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_freq\[aq ] ,
230- highest_perf:
231- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/highest_perf\[aq ] ,
232- nominal_perf:
233- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_perf\[aq ] .
234- .RE
235- .TP
236- \f[B] \-\- max \- turbo \- freq \f[ R ]
237- Same as \[aq ] \-\- max\- freq\- limit\[aq ] with the \[aq ] msr\[aq ] mechanism
238- only.
239- Retrieves the maximum supported CPU turbo frequency.
183+ Retrieve the maximum supported CPU frequency from
184+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/cpuinfo_max_freq\[aq ] .
240185.TP
241186\f[B] \-\- hwp \f[ R ]
242187Check if hardware power management is enabled.
@@ -257,20 +202,14 @@ from \[aq]\-\-min\-freq\-limit\[aq] to \[aq]\-\-max\-freq\-limit\[aq]
257202are available with a step equal to \[aq ] \-\- bus\- clock\[aq ] .
258203.TP
259204\f[B] \-\- base \- freq \f[ R ]
260- Retrieve the base CPU frequency, also known as HFM (High Frequency
261- Mode), or P1.
262- The supported mechanisms are: \[aq ] sysfs\[aq ] , \[aq ] msr\[aq ] .
263- .RS
264- .PP
265- The preferred mechanism is \[aq ] sysfs\[aq ] , which reads
205+ Retrieve the base CPU frequency from
266206\[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/base_frequency\[aq ] .
267207If the file is unavailable, it falls back to
268208\[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/bios_limit\[aq ] .
269- .PP
270- The \[aq ] msr\[aq ] mechanism reads the base CPU frequency from the
271- MSR_HWP_CAPABILITIES (0x771), bits 15:8 if CPU hardware power management
272- is enabled, otherwise from MSR_PLATFORM_INFO (0xCE), bits 15:8.
273- .RE
209+ .TP
210+ \f[B] \-\- fixed \- base \- freq \f[ R ]
211+ Retrieve the CPU fixed base frequency from MSR_PLATFORM_INFO (0xCE),
212+ bits 15:8.
274213.TP
275214\f[B] \-\- bus \- clock \f[ R ]
276215Retrieve the bus clock frequency, one of the CPU\[aq ] s reference clocks.
@@ -340,6 +279,51 @@ Governors determine the P\-state of a CPU based on its activity and
340279other factors, each implementing a unique selection policy.
341280Available governors are listed in
342281\[aq ] /sys/devices/system/cpu/cpufreq/policy<NUMBER>/scaling_available_governors\[aq ] .
282+ .TP
283+ \f[B] \-\- cppc \- lowest \- perf \f[ R ]
284+ Retrieve the ACPI CPPC lowest performance level value for specified CPUs
285+ from
286+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/lowest_perf\[aq ] .
287+ .TP
288+ \f[B] \-\- cppc \- lowest \- nonlinear \- perf \f[ R ]
289+ Retrieve the ACPI CPPC lowest nonlinear performance level value for
290+ specified CPUs from
291+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/lowest_nonlinear_perf\[aq ] .
292+ .TP
293+ \f[B] \-\- cppc \- guaranteed \- perf \f[ R ]
294+ Retrieve the ACPI CPPC guaranteed performance level value for specified
295+ CPUs from
296+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/guaranteed_perf\[aq ] .
297+ .TP
298+ \f[B] \-\- cppc \- nominal \- perf \f[ R ]
299+ Retrieve the ACPI CPPC nominal performance level value for specified
300+ CPUs from
301+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_perf\[aq ] .
302+ .TP
303+ \f[B] \-\- cppc \- highest \- perf \f[ R ]
304+ Retrieve the ACPI CPPC highest performance level value for specified
305+ CPUs from
306+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/highest_perf\[aq ] .
307+ .TP
308+ \f[B] \-\- cppc \- nominal \- freq \f[ R ]
309+ Retrieve the ACPI CPPC nominal frequency for specified CPUs from
310+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/acpi_cppc/nominal_freq\[aq ] .
311+ .TP
312+ \f[B] \-\- hwp \- lowest \- perf \f[ R ]
313+ Retrieve the HWP lowest performance level for specified CPUs.
314+ Reads MSR_HWP_CAPABILITIES (0x771), bits 31:24.
315+ .TP
316+ \f[B] \-\- hwp \- efficient \- perf \f[ R ]
317+ Retrieve the HWP most efficient performance level for specified CPUs.
318+ Reads MSR_HWP_CAPABILITIES (0x771), bits 23:16.
319+ .TP
320+ \f[B] \-\- hwp \- guaranteed \- perf \f[ R ]
321+ Retrieve the HWP guaranteed performance level for specified CPUs.
322+ Reads MSR_HWP_CAPABILITIES (0x771), bits 15:8.
323+ .TP
324+ \f[B] \-\- hwp \- highest \- perf \f[ R ]
325+ Retrieve the HWP highest performance level for specified CPUs.
326+ Reads MSR_HWP_CAPABILITIES (0x771), bits 7:0.
343327.SS Subcommand \f[I] \[aq ] config \[aq ] \f[ R ]
344328Configure CPU P\- states for specified CPUs.
345329If no parameter is provided, the current value(s) will be displayed.
@@ -360,40 +344,25 @@ tried first.
360344Display available mechanisms for configuring CPU P\- states.
361345.TP
362346\f[B] \-\- min \- freq \f[ R ] \f[I] MIN_FREQ \f[ R ]
363- Set the minimum CPU frequency.
347+ Set the minimum CPU frequency via
348+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/scaling_min_freq\[aq ] .
364349The default unit is \[aq ] Hz\[aq ] , but \[aq ] kHz\[aq ] , \[aq ] MHz\[aq ] , and
365350\[aq ] GHz\[aq ] can also be used (for example \[dq ] 900MHz\[dq ] ).
366- The supported mechanisms are: \[aq ] sysfs\[aq ] , \[aq ] msr\[aq ] .
367- The \[aq ] sysfs\[aq ] mechanism uses
368- \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/scaling_min_freq\[aq ] .
369- The \[aq ] msr\[aq ] mechanism uses the MSR_HWP_REQUEST (0x774) register,
370- bits 7:0.
371351.RS
372352.PP
373353The following special values can also be used: \f[B] min \f[ R ] Minimum
374354frequency supported by the Linux CPU frequency driver (see
375355\[aq ] \-\- min\- freq\- limit\[aq ] ).
376- Regardless of the \[aq ] \-\- mechanisms\[aq ] option, the \[aq ] sysfs\[aq ]
377- mechanism is always used to resolve \[aq ] min\[aq ] to the actual minimum
378- frequency.
379356\f[B] max \f[ R ] Maximum frequency supported by the Linux CPU frequency
380357driver (see \[aq ] \-\- max\- freq\- limit\[aq ] ).
381- Regardless of the \[aq ] \-\- mechanisms\[aq ] option, the \[aq ] sysfs\[aq ]
382- mechanism is always used to resolve \[aq ] max\[aq ] to the actual maximum
383- frequency.
384- \f[B] base \f[ R ] , \f[B] hfm \f[ R ] , \f[B] P1 \f[ R ] Base CPU frequency (see
358+ \f[B] base \f[ R ] , \f[B] hfm \f[ R ] Base CPU frequency (see
385359\[aq ] \-\- base\- freq\[aq ] ).
386- Regardless of the \[aq ] \-\- mechanisms\[aq ] option, all available
387- mechanisms are tried to resolve these special values to the actual base
388- frequency.
389360.RE
390361.TP
391362\f[B] \-\- max \- freq \f[ R ] \f[I] MAX_FREQ \f[ R ]
392- Set the maximum CPU frequency.
393- Uses the same mechanisms as described in the \[aq ] info\[aq ]
394- sub\- command.
395- Similar to \[aq ] \-\- min\- freq\[aq ] , but applies to the maximum
396- frequency.
363+ Similar to \[aq ] \-\- min\- freq\[aq ] , but sets the maximum CPU frequency
364+ via
365+ \[aq ] /sys/devices/system/cpu/cpu<NUMBER>/cpufreq/scaling_max_freq\[aq ] .
397366.TP
398367\f[B] \-\- turbo \f[ R ] \f[I] on|off \f[ R ]
399368Toggle turbo mode globally via sysfs.
0 commit comments