[GIT PULL] Timer subsystem changes for v6.8
From: Ingo Molnar
Date: Mon Jan 08 2024 - 05:44:14 EST
Linus,
Please pull the latest timers/core git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers-core-2024-01-08
# HEAD: da65f29dada7f7cbbf0d6375b88a0316f5f7d6f5 timers: Fix nextevt calculation when no timers are pending
Timer subsystem changes for v6.8:
- Various preparatory cleanups & enhancements of the timer-wheel code,
in preparation for the WIP 'pull timers at expiry' timer migration model
series (which will replace the current 'push timers at enqueue' migration
model), by Anna-Maria Behnsen:
- Update comments and clean up confusing variable names
- Add debug check to warn about time travel
- Improve/expand timer-wheel tracepoints
- Optimize away unnecessary IPIs for deferrable timers
- Restructure & clean up next_expiry_recalc()
- Clean up forward_timer_base()
- Introduce __forward_timer_base() and use it to simplify
and micro-optimize get_next_timer_interrupt()
- Restructure the get_next_timer_interrupt()'s idle logic
for better readability and to enable a minor optimization.
- Fix the nextevt calculation when no timers are pending
- Fix the sysfs_get_uname() prototype declaration
Thanks,
Ingo
------------------>
Anna-Maria Behnsen (11):
tick-sched: Fix function names in comments
tick/sched: Cleanup confusing variables
tick-sched: Warn when next tick seems to be in the past
tracing/timers: Enhance timer_start tracepoint
tracing/timers: Add tracepoint for tracking timer base is_idle flag
timers: Do not IPI for deferrable timers
timers: Move store of next event into __next_timer_interrupt()
timers: Clarify check in forward_timer_base()
timers: Split out forward timer base functionality
timers: Use already existing function for forwarding timer base
timers: Fix nextevt calculation when no timers are pending
Arnd Bergmann (1):
time: Make sysfs_get_uname() function visible in header
Thomas Gleixner (1):
timers: Rework idle logic
include/trace/events/timer.h | 40 +++++++++++----
kernel/time/tick-internal.h | 3 +-
kernel/time/tick-sched.c | 25 ++++++----
kernel/time/timer.c | 116 ++++++++++++++++++++++++-------------------
4 files changed, 112 insertions(+), 72 deletions(-)