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

From: Frederic Weisbecker
Date: Sun Feb 25 2024 - 17:55:20 EST


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(-)

--
2.43.0