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

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

Message

Frederic Weisbecker Jan. 31, 2024, 11:11 p.m. UTC
  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(-)