summaryrefslogtreecommitdiff
path: root/drivers/clocksource
diff options
context:
space:
mode:
authorAnna-Maria Behnsen <anna-maria@linutronix.de>2023-12-01 12:26:34 +0300
committerThomas Gleixner <tglx@linutronix.de>2023-12-20 18:49:39 +0300
commitda65f29dada7f7cbbf0d6375b88a0316f5f7d6f5 (patch)
treea9c2f6d602e27255e4d683d1583e846b9cb87b3e /drivers/clocksource
parentbb8caad5083f8fbba70faf41f1d3bab7cf09da6d (diff)
downloadlinux-da65f29dada7f7cbbf0d6375b88a0316f5f7d6f5.tar.xz
timers: Fix nextevt calculation when no timers are pending
When no timer is queued into an empty timer base, the next_expiry will not be updated. It was originally calculated as base->clk + NEXT_TIMER_MAX_DELTA When the timer base stays empty long enough (> NEXT_TIMER_MAX_DELTA), the next_expiry value of the empty base suggests that there is a timer pending soon. This might be more a kind of a theoretical problem, but the fix doesn't hurt. Use only base->next_expiry value as nextevt when timers are pending. Otherwise nextevt will be jiffies + NEXT_TIMER_MAX_DELTA. As all information is in place, update base->next_expiry value of the empty timer base as well. 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-13-anna-maria@linutronix.de
Diffstat (limited to 'drivers/clocksource')
0 files changed, 0 insertions, 0 deletions