ACK: [SRU][J:linux-bluefield][PATCH v1 0/1] Disable CPPC FIE in Jammy kernel

Manuel Diewald manuel.diewald at canonical.com
Tue Oct 14 10:19:26 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: Manuel Diewald <manuel.diewald at canonical.com>

-- 
 Manuel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20251014/9322d08b/attachment.sig>


More information about the kernel-team mailing list