[PATCH v2 6/7] cpufreq: CPPC: Add sysfs for min/max_perf and perf_limited

Sumit Gupta posted 7 patches 1 month, 1 week ago
[PATCH v2 6/7] cpufreq: CPPC: Add sysfs for min/max_perf and perf_limited
Posted by Sumit Gupta 1 month, 1 week ago
Add sysfs interfaces for Minimum Performance, Maximum Performance
and Performance Limited Register in the cppc_cpufreq driver.

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..4bce0dbc48c9 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:           Aug 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:           Aug 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:           Aug 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
Re: [PATCH v2 6/7] cpufreq: CPPC: Add sysfs for min/max_perf and perf_limited
Posted by Randy Dunlap 1 month, 1 week ago

On 8/23/25 1:01 PM, Sumit Gupta wrote:
> Add sysfs interfaces for Minimum Performance, Maximum Performance
> and Performance Limited Register in the cppc_cpufreq driver.
> 
> 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..4bce0dbc48c9 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:           Aug 2025
> +Contact:        linux-pm@vger.kernel.org
> +Description:    Minimum Performance

Preferably these 4 lines above use tab(s) after the ':' for indentation
instead of spaces. (in 3 places, i.e., each sysfs file entry).

> +
> +		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:           Aug 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:           Aug 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

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>

Thanks.

-- 
~Randy
Re: [PATCH v2 6/7] cpufreq: CPPC: Add sysfs for min/max_perf and perf_limited
Posted by Sumit Gupta 1 month ago
On 24/08/25 05:38, Randy Dunlap wrote:
>
> On 8/23/25 1:01 PM, Sumit Gupta wrote:
>> Add sysfs interfaces for Minimum Performance, Maximum Performance
>> and Performance Limited Register in the cppc_cpufreq driver.
>>
>> 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..4bce0dbc48c9 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:           Aug 2025
>> +Contact:        linux-pm@vger.kernel.org
>> +Description:    Minimum Performance
> Preferably these 4 lines above use tab(s) after the ':' for indentation
> instead of spaces. (in 3 places, i.e., each sysfs file entry).

Sorry for replying late as I was on vacation.

Sure, will replace spaces with tabs in v3 and add your 'Reviewed-by'.


Thank you,

Sumit Gupta


>> +
>> +		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:           Aug 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:           Aug 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
> Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
>
> Thanks.
>