[patch V2 00/10] hrtimer: Reprogramming and clock_was_set() overhaul

From: Thomas Gleixner
Date: Tue Jul 13 2021 - 09:54:26 EST


Folks!

This is the second version of the clock_was_set() overhaul together with
the avoidance of double reprogramming when rearming an enqueued timer.

Version 1 of those patches can be found here:

https://lore.kernel.org/r/20210427082537.611978720@xxxxxxxxxxxxx
and
https://lore.kernel.org/r/87v989topu.ffs@xxxxxxxxxxxxxxxxxxxxxxx

Both the reprogramming logic and the clock_was_set() logic are not really
optimized. The series addresses this.

- Avoid double reprogramming when an enqueued timer is rearmed

- Consolidate the reprogramming variants (Peter Zijlstra)

- Fix the cases where the clock_was_set() handling is incorrect depending
on configuration or runtime conditions.

- Distangle the resume notification and the clock-was-set mechanism to
prepare for IPI avoidance

- Adopt Marcelo's patch to the modified code and add some more smarts on
top.

The series is also available from git:

git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git hrtimer

Changes vs V1:

- Pick up Peter's consolidation patch
- Polish a few things

Thanks,

tglx
---
fs/timerfd.c | 16 ++
include/linux/hrtimer.h | 8 -
kernel/time/hrtimer.c | 337 +++++++++++++++++++++++++++++++-------------
kernel/time/tick-common.c | 7
kernel/time/tick-internal.h | 12 +
kernel/time/timekeeping.c | 36 ++--
6 files changed, 299 insertions(+), 117 deletions(-)