• Linus Torvalds's avatar
    Merge tag 'timers-nohz-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9269d27e
    Linus Torvalds authored
    Pull timers/nohz updates from Ingo Molnar:
    
     - Micro-optimize tick_nohz_full_cpu()
    
     - Optimize idle exit tick restarts to be less eager
    
     - Optimize tick_nohz_dep_set_task() to only wake up a single CPU.
       This reduces IPIs and interruptions on nohz_full CPUs.
    
     - Optimize tick_nohz_dep_set_signal() in a similar fashion.
    
     - Skip IPIs in tick_nohz_kick_task() when trying to kick a
       non-running task.
    
     - Micro-optimize tick_nohz_task_switch() IRQ flags handling to
       reduce context switching costs.
    
     - Misc cleanups and fixes
    
    * tag 'timers-nohz-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      MAINTAINERS: Add myself as context tracking maintainer
      tick/nohz: Call tick_nohz_task_switch() with interrupts disabled
      tick/nohz: Kick only _queued_ task whose tick dependency is updated
      tick/nohz: Change signal tick dependency to wake up CPUs of member tasks
      tick/nohz: Only wake up a single target cpu when kicking a task
      tick/nohz: Update nohz_full Kconfig help
      tick/nohz: Update idle_exittime on actual idle exit
      tick/nohz: Remove superflous check for CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
      tick/nohz: Conditionally restart tick on idle exit
      tick/nohz: Evaluate the CPU expression after the static key
    9269d27e
tick-sched.c 38 KB