• Ashwin Chaugule's avatar
    hrtimer: Eliminate needless reprogramming of clock events device · 7403f41f
    Ashwin Chaugule authored
    On NOHZ systems the following timers,
    
    -  tick_nohz_restart_sched_tick (tick_sched_timer)
    -  hrtimer_start (tick_sched_timer)
    
    are reprogramming the clock events device far more often than needed.
    No specific test case was required to observe this effect. This
    occurres because there was no check to see if the currently removed or
    restarted hrtimer was:
    
    1) the one which previously armed the clock events device.
    2) going to be replaced by another timer which has the same expiry time.
    
    Avoid the reprogramming in hrtimer_force_reprogram when the new expiry
    value which is evaluated from the clock bases is equal to
    cpu_base->expires_next. This results in faster application startup
    time by ~4%.
    
    [ tglx: simplified initial solution ]
    Signed-off-by: default avatarAshwin Chaugule <ashwinc@quicinc.com>
    LKML-Reference: <4AA00165.90609@codeaurora.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    7403f41f
hrtimer.c 44 KB