ACK: [SRU][J:linux-bluefield][PATCH v1 0/1] Disable CPPC FIE in Jammy kernel
Alessio Faina
alessio.faina at canonical.com
Thu Oct 9 13:12:16 UTC 2025
On Tue, Oct 07, 2025 at 02:09:40PM -0400, David Thompson wrote:
> BugLink: https://bugs.launchpad.net/bugs/2127016
>
> SRU Justification:
>
> [Impact]
> On ARM platforms such as BlueField-3, enabling the CPPC Frequency-Invariance
> Engine (FIE) spawns a background kernel thread (cppc_fie) that periodically
> polls CPPC performance counters through the PCC channel. This behavior
> significantly increases CPU utilization (2-11% as observed by top) even under
> idle conditions.
>
> This issue appears when firmware exposes CPPC capabilities (via _CPC and
> PCCT tables) to the kernel-triggering the cppc_cpufreq driver to load. The
> problem exists in kernels before v6.1 and is fixed upstream by:
>
> Commit ae2df91 ("ACPI: CPPC: Disable FIE if registers in PCC regions")
> https://github.com/torvalds/linux/commit/ae2df912d1a557a3548be83da20851ac55f42ab3
>
> Without this fix, enabling FIE on systems (by enabling CONFIG_ACPI_CPPC_CPUFREQ_FIE)
> where CPPC registers reside in PCC regions results in unnecessary and continuous
> mailbox accesses, causing measurable CPU load increases.
>
> [Fix]
> Set CONFIG_ACPI_CPPC_CPUFREQ_FIE=n to disable the FIE kernel thread.
> This avoids the high CPU utilization bug while retaining the core CPPC
> functionality (real-time CPU frequency reporting via CONFIG_ACPI_CPPC_CPUFREQ).
>
> [Test Case]
> 1. Boot a BlueField-3 (or similar ARM system) running kernel 5.15.x with CONFIG_ACPI_CPPC_CPUFREQ_FIE=y.
> o Observe with top or mpstat that CPU utilization remains elevated (2-11%) even at idle.
> o Verify that "ps -ef | grep cppc_fie" shows active cppc_fie threads.
> 2. Rebuild kernel with CONFIG_ACPI_CPPC_CPUFREQ_FIE=n.
> o Reboot and confirm no cppc_fie kernel threads are running.
> o Check that CPU utilization returns to baseline levels while
> /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq continues to report real-time frequency correctly.
> This validates that disabling FIE eliminates the overhead but preserves the real-frequency reporting feature.
>
> [Regression Potential]
> Low.
> FIE is an optional optimization that adjusts scaling responsiveness. Disabling
> it only affects systems using PCC-based CPPC regions; others (with direct
> register access) are unaffected. The main CPPC frequency control and reporting
> remain fully functional.
>
> David Thompson (1):
> UBUNTU: [Config] bluefield: disable CONFIG_ACPI_CPPC_CPUFREQ_FIE
>
> debian.bluefield/config/annotations | 1 +
> 1 file changed, 1 insertion(+)
>
> --
> 2.43.2
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Acked-by: Alessio Faina <alessio.faina at canonical.com>
More information about the kernel-team
mailing list