• Thomas Gleixner's avatar
    timekeeping: Distangle resume and clock-was-set events · a761a67f
    Thomas Gleixner authored
    Resuming timekeeping is a clock-was-set event and uses the clock-was-set
    notification mechanism. This is in the way of making the clock-was-set
    update for hrtimers selective so unnecessary IPIs are avoided when a CPU
    base does not have timers queued which are affected by the clock setting.
    
    Distangle it by invoking hrtimer_resume() on each unfreezing CPU and invoke
    the new timerfd_resume() function from timekeeping_resume() which is the
    only place where this is needed.
    
    Rename hrtimer_resume() to hrtimer_resume_local() to reflect the change.
    
    With this the clock_was_set*() functions are not longer required to IPI all
    CPUs unconditionally and can get some smarts to avoid them.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20210713135158.488853478@linutronix.de
    a761a67f
hrtimer.c 63.7 KB