On 31-01-25, 16:24, Beata Michalska wrote: > Currently the CPUFreq core exposes two sysfs attributes that can be used > to query current frequency of a given CPU(s): namely cpuinfo_cur_freq > and scaling_cur_freq. Both provide slightly different view on the > subject and they do come with their own drawbacks. > > cpuinfo_cur_freq provides higher precision though at a cost of being > rather expensive. Moreover, the information retrieved via this attribute > is somewhat short lived as frequency can change at any point of time > making it difficult to reason from. > > scaling_cur_freq, on the other hand, tends to be less accurate but then > the actual level of precision (and source of information) varies between > architectures making it a bit ambiguous. > > The new attribute, cpuinfo_avg_freq, is intended to provide more stable, > distinct interface, exposing an average frequency of a given CPU(s), as > reported by the hardware, over a time frame spanning no more than a few > milliseconds. As it requires appropriate hardware support, this > interface is optional. > > Note that under the hood, the new attribute relies on the information > provided by arch_freq_get_on_cpu, which, up to this point, has been > feeding data for scaling_cur_freq attribute, being the source of > ambiguity when it comes to interpretation. This has been amended by > restoring the intended behavior for scaling_cur_freq, with a new > dedicated config option to maintain status quo for those, who may need > it. > > CC: Jonathan Corbet <corbet@xxxxxxx> > CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > CC: Ingo Molnar <mingo@xxxxxxxxxx> > CC: Borislav Petkov <bp@xxxxxxxxx> > CC: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > CC: H. Peter Anvin <hpa@xxxxxxxxx> > CC: Phil Auld <pauld@xxxxxxxxxx> > CC: x86@xxxxxxxxxx > CC: linux-doc@xxxxxxxxxxxxxxx > > Signed-off-by: Beata Michalska <beata.michalska@xxxxxxx> > Reviewed-by: Prasanna Kumar T S M <ptsm@xxxxxxxxxxxxxxxxxxx> > Reviewed-by: Sumit Gupta <sumitg@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> -- viresh