Public bug reported:

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 /proc/sched_debug or 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.

** Affects: linux-bluefield (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2127016

Title:
  Disable CPPC FIE in Jammy kernel

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-bluefield/+bug/2127016/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to