]> git.baikalelectronics.ru Git - kernel.git/commit
hrtimer: Force clock_was_set() handling for the HIGHRES=n, NOHZ=y case
authorThomas Gleixner <tglx@linutronix.de>
Tue, 13 Jul 2021 13:39:49 +0000 (15:39 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 10 Aug 2021 15:57:22 +0000 (17:57 +0200)
commit2136c38a1c87ffc6fcd77a481e4ccaa3584778b6
tree06d723abc900f8fe1ba2202375041ae76d4e0c3b
parentb178aef0cef981c814b74be2f6ffb4d2c96334fd
hrtimer: Force clock_was_set() handling for the HIGHRES=n, NOHZ=y case

When CONFIG_HIGH_RES_TIMERS is disabled, but NOHZ is enabled then
clock_was_set() is not doing anything. With HIGHRES=n the kernel relies on
the periodic tick to update the clock offsets, but when NOHZ is enabled and
active then CPUs which are in a deep idle sleep do not have a periodic tick
which means the expiry of timers affected by clock_was_set() can be
arbitrarily delayed up to the point where the CPUs are brought out of idle
again.

Make the clock_was_set() logic unconditionaly available so that idle CPUs
are kicked out of idle to handle the update.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20210713135158.288697903@linutronix.de
kernel/time/hrtimer.c