[00/16,v3] timers/nohz cleanups and hotplug reorganization

Message ID 20240225225508.11587-1-frederic@kernel.org
Headers
Series timers/nohz cleanups and hotplug reorganization |

Message

Frederic Weisbecker Feb. 25, 2024, 10:54 p.m. UTC
  Hi,

Here are some cleanups here and there and also some more rational tick
related CPU hotplug code reorganization.

Changes since v3:

* Rebase against latest tip:timers/core (after tmigr introduction)
* New patch "timers: Assert no next dyntick timer look-up while CPU"

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
        timers/hotplug-v3

HEAD: a0d432ebab0b7f75e03049d5d2baabff7f39ee1d

Frederic Weisbecker (14):
  tick: Remove useless oneshot ifdeffery
  tick: Use IS_ENABLED() whenever possible
  tick: s/tick_nohz_stop_sched_tick/tick_nohz_full_stop_tick
  tick: No need to clear ts->next_tick again
  tick: Start centralizing tick related CPU hotplug operations
  tick: Move tick cancellation up to CPUHP_AP_TICK_DYING
  tick: Move broadcast cancellation up to CPUHP_AP_TICK_DYING
  tick: Assume the tick can't be stopped in NOHZ_MODE_INACTIVE mode
  tick: Move got_idle_tick away from common flags
  tick: Move individual bit features to debuggable mask accesses
  tick: Split nohz and highres features from nohz_mode
  tick: Shut down low-res tick from dying CPU
  tick: Assume timekeeping is correctly handed over upon last offline
    idle call
  timers: Assert no next dyntick timer look-up while CPU is offline

Peng Liu (2):
  tick/nohz: Remove duplicate between tick_nohz_switch_to_nohz() and
    tick_setup_sched_timer()
  tick/nohz: Remove duplicate between lowres and highres handlers

 include/linux/cpuhotplug.h  |   1 +
 include/linux/tick.h        |  16 +-
 kernel/cpu.c                |  11 +-
 kernel/sched/idle.c         |   1 -
 kernel/time/hrtimer.c       |   4 +-
 kernel/time/tick-common.c   |  31 ++--
 kernel/time/tick-internal.h |   2 +
 kernel/time/tick-sched.c    | 297 +++++++++++++++++-------------------
 kernel/time/tick-sched.h    |  40 ++---
 kernel/time/timer.c         |   6 +-
 kernel/time/timer_list.c    |  10 +-
 11 files changed, 215 insertions(+), 204 deletions(-)