Re: [PATCH v2 5/6] TEMP: sched: add interface for counter-based frequency invariance
From: Ionela Voinescu <hidden>
Date: 2020-01-30 15:33:31
Also in:
linux-doc, lkml
On Wednesday 29 Jan 2020 at 20:37:41 (+0100), Peter Zijlstra wrote:
On Wed, Dec 18, 2019 at 06:26:06PM +0000, Ionela Voinescu wrote:quoted
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@suse.cz/ (local)FWIW, those patches just landed in tip/sched/core
Thanks, Peter, I'll drop this one next time around. Ionela. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel