• Frederic Weisbecker's avatar
    nohz: Switch to nohz full remote kick on timer enqueue · 53c5fa16
    Frederic Weisbecker authored
    When a new timer is enqueued on a full dynticks target, that CPU must
    re-evaluate the next tick to handle the timer correctly.
    
    This is currently performed through the scheduler IPI. Meanwhile this
    happens at the cost of off-topic workarounds in that fast path to make
    it call irq_exit().
    
    As we plan to remove this hack off the scheduler IPI, lets use
    the nohz full kick instead. Pretty much any IPI fits for that job
    as long at it calls irq_exit(). The nohz full kick just happens to be
    handy and readily available here.
    
    If it happens to be too much an overkill in the future, we can still
    turn that timer kick into an empty IPI.
    Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Kevin Hilman <khilman@linaro.org>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    53c5fa16
core.c 191 KB