arm64: Provide an AMU-based version of arch_freq_get_on_cpu
authorBeata Michalska <beata.michalska@arm.com>
Fri, 31 Jan 2025 16:24:38 +0000 (16:24 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 18 Feb 2025 13:51:41 +0000 (13:51 +0000)
commit16d1e27475f673295f3eaac296dd835db3b8c4d4
tree2cc30028e29583ba9e2098ed81119ca5227faf08
parentfbb4a4759b541d09ebb8e391d5fa7f9a5a0cad61
arm64: Provide an AMU-based version of arch_freq_get_on_cpu

With the Frequency Invariance Engine (FIE) being already wired up with
sched tick and making use of relevant (core counter and constant
counter) AMU counters, getting the average frequency for a given CPU,
can be achieved by utilizing the frequency scale factor which reflects
an average CPU frequency for the last tick period length.

The solution is partially based on APERF/MPERF implementation of
arch_freq_get_on_cpu.

Suggested-by: Ionela Voinescu <ionela.voinescu@arm.com>
Signed-off-by: Beata Michalska <beata.michalska@arm.com>
Reviewed-by: Prasanna Kumar T S M <ptsm@linux.microsoft.com>
Reviewed-by: Sumit Gupta <sumitg@nvidia.com>
Link: https://lore.kernel.org/r/20250131162439.3843071-4-beata.michalska@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/topology.c