On Fri, 2021-01-08 at 19:05 +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <[email protected]>
> 
> 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 <[email protected]>
> <snip>

Thanks for writing this, Rafael.

Peter Zijlstra asked to fix this problem months ago; I started but
got stucked and never finished.


Giovanni Gherdovich

Reply via email to