Re: [PATCH v2 5/6] TEMP: sched: add interface for counter-based frequency invariance
From: Peter Zijlstra
Date: Wed Jan 29 2020 - 14:37:49 EST
On Wed, Dec 18, 2019 at 06:26:06PM +0000, Ionela Voinescu wrote:
> To be noted that this patch is a temporary one. It introduces the
> interface added by the patches at [1] to allow update of the frequency
> invariance scale factor based on counters. If [1] is merged there is
> not need for this patch.
>
> For platforms that support counters (x86 - APERF/MPERF, arm64 - AMU
> counters) the frequency invariance correction factor can be obtained
> using a core counter and a fixed counter to get information on the
> performance (frequency based only) obtained in a period of time. This
> will more accurately reflect the actual current frequency of the CPU,
> compared with the alternative implementation that reflects the request
> of a performance level from the OS through the cpufreq framework
> (arch_set_freq_scale).
>
> Therefore, introduce an interface - arch_scale_freq_tick, to be
> implemented by each architecture and called for each CPU on the tick
> to update the scale factor based on the delta in the counter values,
> if counter support is present on the CPU.
>
> Either because reading counters is expensive or because reading
> counters from remote CPUs is not possible or is expensive, only
> update the counter based frequency scale factor on the tick for
> now. A tick based update will definitely be necessary either due to
> it being the only point of update for certain architectures or in
> order to cache the counter values for a particular CPU, if a
> further update from that CPU is not possible.
>
> [1]
> https://lore.kernel.org/lkml/20191113124654.18122-1-ggherdovich@xxxxxxx/
FWIW, those patches just landed in tip/sched/core