[PATCH 00/15 v2] timers/nohz cleanups and hotplug reorganization

From: Frederic Weisbecker
Date: Wed Jan 31 2024 - 18:27:54 EST


Hi,

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

Changes since v2:

* Add some IS_ENABLED(CONFIG_HIGH_RES_TIMERS) to optimize code
* Rename tick_nohz_highres_handler() to tick_nohz_handler()
* Add Reviewed-by tags

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

HEAD: 6921da4d7425bd33618bfec67fb2e564ea37b756

Thanks,
Frederic
---

Frederic Weisbecker (13):
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

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 | 295 +++++++++++++++++++++-----------------------
kernel/time/tick-sched.h | 40 +++---
kernel/time/timer_list.c | 10 +-
10 files changed, 211 insertions(+), 200 deletions(-)