[PATCH v2 0/2] cpufreq: CPPC: Rework FIE warning prints and cppc_scale_freq_tick()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reading performance feedback counters on offline or low-power idle CPUs may
return 0, which is interpreted as -EFAULT.

This leads to two issues related to the CPPC FIE:

1. When booting a subset of CPUs in policy->related_cpus (some CPUs under
the cpufreq policy is offline), there are warnings of "failed to read perf
counters for cpu" during the CPPC FIE initialization.

2. On our platform with the CPC regs in System Memory and a power-down idle
state enabled, if the CPPC FIE is registered successfully, there are
repeated warnings of "failed to read perf counters" because
cppc_scale_freq_workfn() is trying to access the counters of remote CPUs
that enters the idle state.

To solve the above issues:

Patch 1 removes the warning when the CPPC FIE initialization fails to read
counters on offline CPUs and changes the log leve to debug.  This can be
applied separately.

Patch 2 moves the update of FIE arch_freq_scale into ticks for non-PCC regs
and maintains the existing mechanism for PCC regs, such that reading
counters would be triggered on the local CPU only.  This inherently solves
the issue in [1].  We have tested this on Kunpeng SoCs with the CPC regs
both in System Memory and FFH.  More tests on other platforms are welcome
though.
[1] https://lore.kernel.org/linux-pm/20250730032312.167062-3-yubowen8@xxxxxxxxxx/

Changelog:

v2:
- Update the cover letter and the commit log based on v1 discussion
- Update FIE arch_freq_scale in ticks for non-PCC regs

v1:
https://lore.kernel.org/linux-pm/20250730032312.167062-1-yubowen8@xxxxxxxxxx/

Jie Zhan (2):
  cpufreq: CPPC: Don't warn if FIE init fails to read counters
  cpufreq: CPPC: Update FIE arch_freq_scale in ticks for non-PCC regs

 drivers/cpufreq/cppc_cpufreq.c | 64 +++++++++++++++++++++-------------
 1 file changed, 39 insertions(+), 25 deletions(-)

-- 
2.33.0





[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux