x86/aperfmperf: Replace aperfmperf_get_khz()
authorThomas Gleixner <tglx@linutronix.de>
Fri, 15 Apr 2022 19:20:02 +0000 (21:20 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 27 Apr 2022 18:22:19 +0000 (20:22 +0200)
commit7d84c1ebf9ddafca27b481e6da7d24a023dacaa2
treedfd347ccd2ca0a1513e5715316ffe221b2608c39
parentcd8c0e142daf9de9ce594e61b75509b0af7bfb26
x86/aperfmperf: Replace aperfmperf_get_khz()

The frequency invariance infrastructure provides the APERF/MPERF samples
already. Utilize them for the cpu frequency display in /proc/cpuinfo.

The sample is considered valid for 20ms. So for idle or isolated NOHZ full
CPUs the function returns 0, which is matching the previous behaviour.

This gets rid of the mass IPIs and a delay of 20ms for stabilizing observed
by Eric when reading /proc/cpuinfo.

Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Link: https://lore.kernel.org/r/20220415161206.875029458@linutronix.de
arch/x86/kernel/cpu/aperfmperf.c
fs/proc/cpuinfo.c
include/linux/cpufreq.h