tick-sched: Warn when next tick seems to be in the past
authorAnna-Maria Behnsen <anna-maria@linutronix.de>
Fri, 1 Dec 2023 09:26:25 +0000 (10:26 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 20 Dec 2023 15:49:38 +0000 (16:49 +0100)
commitcbf04a22026100dceeceec67fcbf1973383eb32f
tree87db19b4b57d69099ffb0cf7bf57703a9255a012
parent318050671affa92fd166d988d08d4041c7b113c4
tick-sched: Warn when next tick seems to be in the past

When the next tick is in the past, the delta between basemono and the next
tick gets negativ. But the next tick should never be in the past. The
negative effect of a wrong next tick might be a stop of the tick and timers
might expire late.

To prevent expensive debugging when changing underlying code, add a
WARN_ON_ONCE into this code path. To prevent complete misbehaviour, also
reset next_tick to basemono in this case.

Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Link: https://lore.kernel.org/r/20231201092654.34614-4-anna-maria@linutronix.de
kernel/time/tick-sched.c