Re: [PATCH] x86: PM: Register syscore_ops for scale invariance

From: Peter Zijlstra
Date: Tue Jan 12 2021 - 10:02:51 EST


On Fri, Jan 08, 2021 at 07:05:59PM +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> On x86 scale invariace tends to be disabled during resume from
> suspend-to-RAM, because the MPERF or APERF MSR values are not as
> expected then due to updates taking place after the platform
> firmware has been invoked to complete the suspend transition.
>
> That, of course, is not desirable, especially if the schedutil
> scaling governor is in use, because the lack of scale invariance
> causes it to be less reliable.
>
> To counter that effect, modify init_freq_invariance() to register
> a syscore_ops object for scale invariance with the ->resume callback
> pointing to init_counter_refs() which will run on the CPU starting
> the resume transition (the other CPUs will be taken care of the
> "online" operations taking place later).
>
> Fixes: e2b0d619b400 ("x86, sched: check for counters overflow in frequency invariant accounting")
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

Thanks!, I'll take it through the sched/urgent tree?