Commit bebed664 authored by Anna-Maria Behnsen's avatar Anna-Maria Behnsen Committed by Thomas Gleixner

timers: Restructure get_next_timer_interrupt()

get_next_timer_interrupt() contains two parts for the next timer interrupt
calculation. Those two parts are separated by forwarding the base
clock. But the second part does not depend on the forwarded base
clock.

Therefore restructure get_next_timer_interrupt() to keep things together
which belong together.

No functional change.
Signed-off-by: default avatarAnna-Maria Behnsen <anna-maria@linutronix.de>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarFrederic Weisbecker <frederic@kernel.org>
Link: https://lore.kernel.org/r/20240221090548.36600-2-anna-maria@linutronix.de
parent 2ed08e4b
...@@ -1982,12 +1982,6 @@ u64 get_next_timer_interrupt(unsigned long basej, u64 basem) ...@@ -1982,12 +1982,6 @@ u64 get_next_timer_interrupt(unsigned long basej, u64 basem)
if (base->next_expiry_recalc) if (base->next_expiry_recalc)
next_expiry_recalc(base); next_expiry_recalc(base);
/*
* We have a fresh next event. Check whether we can forward the
* base.
*/
__forward_timer_base(base, basej);
if (base->timers_pending) { if (base->timers_pending) {
nextevt = base->next_expiry; nextevt = base->next_expiry;
...@@ -2005,6 +1999,12 @@ u64 get_next_timer_interrupt(unsigned long basej, u64 basem) ...@@ -2005,6 +1999,12 @@ u64 get_next_timer_interrupt(unsigned long basej, u64 basem)
base->next_expiry = nextevt; base->next_expiry = nextevt;
} }
/*
* We have a fresh next event. Check whether we can forward the
* base.
*/
__forward_timer_base(base, basej);
/* /*
* Base is idle if the next event is more than a tick away. * Base is idle if the next event is more than a tick away.
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment