Re: [PATCH v3 6/8] cpufreq: CPPC: Add sysfs for min/max_perf and perf_limited
From: Sumit Gupta
Date: Wed Oct 08 2025 - 06:17:12 EST
On 01/10/25 22:33, Mario Limonciello wrote:
External email: Use caution opening links or attachments
+linux-doc
On 10/1/25 10:01 AM, Sumit Gupta wrote:
Add sysfs interfaces for Minimum Performance, Maximum Performance
and Performance Limited Register in the cppc_cpufreq driver.
Reviewed-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Signed-off-by: Sumit Gupta <sumitg@xxxxxxxxxx>
---
.../ABI/testing/sysfs-devices-system-cpu | 43 +++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu
b/Documentation/ABI/testing/sysfs-devices-system-cpu
index ab8cd337f43a..82141b45d58c 100644
--- a/Documentation/ABI/testing/sysfs-devices-system-cpu
+++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
@@ -327,6 +327,49 @@ Description: Energy performance preference
This file is only present if the cppc-cpufreq driver is
in use.
+What: /sys/devices/system/cpu/cpuX/cpufreq/min_perf
+Date: September 2025
These dates will need to push out since this isn't 6.17 material.
Sure.
That being said I have a general question to linux-doc.
Why is this is date based? I would expect a date is meaningless to
anyone reads this documentation. People who want to know if an
interface is available would normally look at their kernel version to
tell.
So wouldn't it make more sense for this field to be something like:
Version: 6.19
+Contact: linux-pm@xxxxxxxxxxxxxxx
+Description: Minimum Performance
+
+ Read/write a 32 bits value from/to this file. This file
+ conveys the minimum performance level at which the
platform
+ may run. Minimum performance may be set to any performance
+ value in the range [Lowest Performance, Highest
Performance],
How will a user discover the lowest -> highest range?
IE I think you should document how to lookup those caps too.
Ok, will add the info about these nodes as below.
Minimum performance may be set to any performance
value in the range [Lowest Performance, Highest Performance],
inclusive but must be set to a value that is less than or
equal to that specified by the Maximum Performance Register.
The range can be checked from nodes:
/sys/devices/system/cpu/cpuX/acpi_cppc/highest_perf
/sys/devices/system/cpu/cpuX/acpi_cppc/lowest_perf
Thank you,
Sumit
+ inclusive but must be set to a value that is less than or
+ equal to that specified by the Maximum Performance
Register.
+
+ Writing to this file only has meaning when Autonomous
Selection
+ is enabled.
+
+ This file is only present if the cppc-cpufreq driver is
in use.
+
+What: /sys/devices/system/cpu/cpuX/cpufreq/max_perf
+Date: September 2025
+Contact: linux-pm@xxxxxxxxxxxxxxx
+Description: Minimum Performance
+
+ Read/write a 32 bits value from/to this file. This file
conveys
+ the maximum performance level at which the platform may
run.
+ Maximum performance may be set to any performance value
in the
+ range [Lowest Performance, Highest Performance],
inclusive.
+
+ Writing to this file only has meaning when Autonomous
Selection is
+ enabled.
+
+ This file is only present if the cppc-cpufreq driver is
in use.
+
+What: /sys/devices/system/cpu/cpuX/cpufreq/perf_limited
+Date: September 2025
+Contact: linux-pm@xxxxxxxxxxxxxxx
+Description: Minimum Performance
+
+ Read/write a 32 bits value from/to this file. This file
indicates
+ to OSPM that an unpredictable event has limited processor
+ performance, and the delivered performance may be less
than
+ desired/minimum performance.
+
+ This file is only present if the cppc-cpufreq driver is
in use.
What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
Date: August 2008