The Linux Kernel Mailing List
 help / color / mirror / Atom feed
  • * Re: [PATCH] cpufreq: cppc: discard out-of-range delivered_perf samples
           [not found] <20260501-cur_freq-fix-v1-1-f84c9a423366@debian.org>
           [not found] ` <7e55dd1e-2841-4918-8e3d-82203a70451a@arm.com>
    @ 2026-05-08  3:23 ` Jie Zhan
      2026-05-08  8:17   ` Breno Leitao
      1 sibling, 1 reply; 4+ messages in thread
    From: Jie Zhan @ 2026-05-08  3:23 UTC (permalink / raw)
      To: Breno Leitao, Rafael J. Wysocki, Viresh Kumar, Lifeng Zheng,
    	Pierre Gondois, Sumit Gupta
      Cc: linux-pm, linux-kernel, dcostantino, pjaroszynski, Al.Grant,
    	linux-arm-kernel, kernel-team
    
    
    
    On 5/2/2026 12:32 AM, Breno Leitao wrote:
    > cppc_cpufreq_get_rate() derives delivered_perf as:
    > 
    >     delivered_perf = reference_perf * delta_delivered / delta_reference
    > 
    > over a short udelay()-bounded window between two cppc_get_perf_ctrs()
    > calls. Per-read latency jitter on the underlying CPC register access
    > can skew the ratio, occasionally producing delivered_perf >
    > highest_perf. cppc_perf_to_khz() then linearly extrapolates above
    > (nominal_perf, nominal_freq), so the value reported via
    > /sys/.../cpufreq/cpuinfo_cur_freq exceeds cpuinfo_max_freq.
    > 
    > Observed on an arm64 host (governor=performance,
    > cpuinfo_max_freq=3339 MHz): 15 back-to-back reads returned values
    > between 2997 and 4230 MHz.
    Hi Breno,
    
    Frequency sampling discrepancy through 'cpuinfo_cur_freq' in the
    cppc_cpufreq driver has been an issue discussed for a very long time.
    
    If the CPPC feedback counters are FFH on your platform, can you have a look
    at [1] and see if that helps?
    
    Thanks,
    Jie
    > 
    > Treat an out-of-range sample as invalid and reuse the existing
    > out_invalid_counters fallback, which returns the platform's
    > desired_perf. This keeps cpuinfo_cur_freq within
    > [0, cpuinfo_max_freq] without reporting a value the hardware did
    > not deliver.
    > 
    > Signed-off-by: Breno Leitao <leitao@debian.org>
    > ---
    >  drivers/cpufreq/cppc_cpufreq.c | 8 ++++++++
    >  1 file changed, 8 insertions(+)
    > 
    ...
    
    ^ permalink raw reply	[flat|nested] 4+ messages in thread

  • end of thread, other threads:[~2026-05-08  8:55 UTC | newest]
    
    Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <20260501-cur_freq-fix-v1-1-f84c9a423366@debian.org>
         [not found] ` <7e55dd1e-2841-4918-8e3d-82203a70451a@arm.com>
    2026-05-05 12:52   ` [PATCH] cpufreq: cppc: discard out-of-range delivered_perf samples Breno Leitao
    2026-05-08  3:23 ` Jie Zhan
    2026-05-08  8:17   ` Breno Leitao
    2026-05-08  8:55     ` Jie Zhan
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox