• Rafael J. Wysocki's avatar
    time: tick-sched: Split tick_nohz_stop_sched_tick() · 23a8d888
    Rafael J. Wysocki authored
    In order to address the issue with short idle duration predictions
    by the idle governor after the scheduler tick has been stopped, split
    tick_nohz_stop_sched_tick() into two separate routines, one computing
    the time to the next timer event and the other simply stopping the
    tick when the time to the next timer event is known.
    
    Prepare these two routines to be called separately, as one of them
    will be called by the idle governor in the cpuidle_select() code
    path after subsequent changes.
    
    Update the former callers of tick_nohz_stop_sched_tick() to use
    the new routines, tick_nohz_next_event() and tick_nohz_stop_tick(),
    instead of it and move the updates of the sleep_length field in
    struct tick_sched into __tick_nohz_idle_stop_tick() as it doesn't
    need to be updated anywhere else.
    
    There should be no intentional visible changes in functionality
    resulting from this change.
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: default avatarFrederic Weisbecker <frederic@kernel.org>
    23a8d888
tick-sched.c 32.7 KB