Re: [PATCH v4 6/8] cpufreq: CPPC: Add sysfs for min/max_perf and perf_limited
From: Ionela Voinescu
Date: Thu Nov 13 2025 - 07:41:24 EST
Hi,
On Wednesday 05 Nov 2025 at 17:08:42 (+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@xxxxxxxxxxxxx>
> Signed-off-by: Sumit Gupta <sumitg@xxxxxxxxxx>
> ---
> .../ABI/testing/sysfs-devices-system-cpu | 46 +++++++++++++++++++
> 1 file changed, 46 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu
> index 8aed6d94c4cd..6f1f70696000 100644
> --- a/Documentation/ABI/testing/sysfs-devices-system-cpu
> +++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
> @@ -327,6 +327,52 @@ 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: December 2025
> +Contact: linux-pm@xxxxxxxxxxxxxxx
> +Description: Minimum Performance Frequency
> +
> + Read/write a frequency value in kHz from/to this file. This
> + file conveys the minimum performance level (as frequency) at
> + which the platform may run. The frequency value is internally
> + converted to a performance value and must correspond to a
> + performance level in the range [Lowest Performance, Highest
> + Performance], inclusive. The minimum must be less than or equal
> + to the maximum performance. The performance range can be checked
> + from nodes:
> + /sys/devices/system/cpu/cpuX/acpi_cppc/highest_perf
> + /sys/devices/system/cpu/cpuX/acpi_cppc/lowest_perf
I think information on highest/lowest performance is irrelevant here. If
the user is expected to provide a frequency value, it should only care
about it being in the range [cpuinfo_min_freq, cpuinfo_max_freq].
I think ideally all of these controls (auto-select, EPP, min, max, etc.)
would have been better placed under
/sys/devices/system/cpu/cpuX/acpi_cppc, but I suppose the intention
was/is to have all performance related controls under cpufreq. But that
means that the user should not be concerned about the underlying CPPC
scale and only use /sys/devices/system/cpu/cpuX/acpi_cppc for
information purposes.
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: December 2025
> +Contact: linux-pm@xxxxxxxxxxxxxxx
> +Description: Maximum Performance Frequency
> +
> + Read/write a frequency value in kHz from/to this file. This
> + file conveys the maximum performance level (as frequency) at
> + which the platform may run. The frequency value is internally
> + converted to a performance value and must correspond to a
> + performance level in the range [Lowest Performance, Highest
> + Performance], inclusive. The performance range can be checked
> + from nodes:
> + /sys/devices/system/cpu/cpuX/acpi_cppc/highest_perf
> + /sys/devices/system/cpu/cpuX/acpi_cppc/lowest_perf
> +
> + This file is only present if the cppc-cpufreq driver is in use.
> +
> +What: /sys/devices/system/cpu/cpuX/cpufreq/perf_limited
> +Date: December 2025
> +Contact: linux-pm@xxxxxxxxxxxxxxx
> +Description: Performance Limited
> +
> + 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
>