• Ingo Molnar's avatar
    Merge branch 'timers/core-v9' of... · 1f251846
    Ingo Molnar authored
    Merge branch 'timers/core-v9' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz
    
    Pull nohz enhancements from Frederic Weisbecker:
    
    "Currently in nohz full configs, the tick dependency is checked
     asynchronously by nohz code from interrupt and context switch for each
     concerned subsystem with a set of function provided by these. Such
     functions are made of many conditions and details that can be heavyweight
     as they are called on fastpath: sched_can_stop_tick(),
     posix_cpu_timer_can_stop_tick(), perf_event_can_stop_tick()...
    
     Thomas suggested a few months ago to make that tick dependency check
     synchronous. Instead of checking subsystems details from each interrupt
     to guess if the tick can be stopped, every subsystem that may have a tick
     dependency should set itself a flag specifying the state of that
     dependency. This way we can verify if we can stop the tick with a single
     lightweight mask check on fast path.
    
     This conversion from a pull to a push model to implement tick dependency
     is the core feature of this patchset that is split into:
    
      * Nohz wide kick simplification
      * Improve nohz tracing
      * Introduce tick dependency mask
      * Migrate scheduler, posix timers, perf events and sched clock tick
        dependencies to the tick dependency mask."
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    1f251846
core.c 223 KB