Add sysfs interfaces for Minimum Performance, Maximum Performance
and Performance Limited Register in the cppc_cpufreq driver.
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
---
.../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
+Contact: linux-pm@vger.kernel.org
+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],
+ 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@vger.kernel.org
+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@vger.kernel.org
+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
--
2.34.1
Hi,
On Wednesday 01 Oct 2025 at 20:31:02 (+0530), 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@infradead.org>
> Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
> ---
> .../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
> +Contact: linux-pm@vger.kernel.org
> +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],
> + 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.
In the ACPI specification I don't see a clear dependency between the
minimum and maximum performance registers and autonomous selection.
There's nothing to say that min and max do not have meaning with
autonomous selection is disabled.
Thanks,
Ionela.
> +
> + 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@vger.kernel.org
> +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@vger.kernel.org
> +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
> --
> 2.34.1
>
>
On 22/10/25 17:32, Ionela Voinescu wrote:
> External email: Use caution opening links or attachments
>
>
> Hi,
>
> On Wednesday 01 Oct 2025 at 20:31:02 (+0530), 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@infradead.org>
>> Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
>> ---
>> .../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
>> +Contact: linux-pm@vger.kernel.org
>> +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],
>> + 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.
> In the ACPI specification I don't see a clear dependency between the
> minimum and maximum performance registers and autonomous selection.
> There's nothing to say that min and max do not have meaning with
> autonomous selection is disabled.
>
> Thanks,
> Ionela.
Yes, will remove the text about dependency on autonomous selection in v4.
Thank you,
Sumit Gupta
>> +
>> + 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@vger.kernel.org
>> +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@vger.kernel.org
>> +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
>> --
>> 2.34.1
>>
>>
On 10/1/2025 11:01 PM, 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@infradead.org>
> Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
> ---
> .../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
> +Contact: linux-pm@vger.kernel.org
> +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],
> + 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@vger.kernel.org
> +Description: Minimum Performance
Not adapted
> +
> + 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@vger.kernel.org
> +Description: Minimum Performance
Not adapted
> +
> + 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
On 10/10/25 08:59, Jie Zhan wrote:
> External email: Use caution opening links or attachments
>
>
> On 10/1/2025 11:01 PM, 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@infradead.org>
>> Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
>> ---
>> .../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
>> +Contact: linux-pm@vger.kernel.org
>> +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],
>> + 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@vger.kernel.org
>> +Description: Minimum Performance
> Not adapted
Sorry, i missed this. Will update here and below.
Thank you,
Sumit
>> +
>> + 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@vger.kernel.org
>> +Description: Minimum Performance
> Not adapted
Ack.
>> +
>> + 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
+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@infradead.org>
> Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
> ---
> .../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.
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@vger.kernel.org
> +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.
> + 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@vger.kernel.org
> +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@vger.kernel.org
> +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
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@infradead.org>
>> Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
>> ---
>> .../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@vger.kernel.org
>> +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@vger.kernel.org
>> +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@vger.kernel.org
>> +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
>
© 2016 - 2026 Red Hat, Inc.