diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2024-11-06 15:51:38 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2024-11-07 02:44:38 +0100 |
commit | a02976cfce4fe8336c6be08cd4dc35ca1aa794e9 (patch) | |
tree | 57ca28c18d0dc1a4e8f6abc935755a51efc19427 | |
parent | 7a7f5065bc1dd8c463fc55f18ad43907c16571ee (diff) | |
download | lwn-a02976cfce4fe8336c6be08cd4dc35ca1aa794e9.tar.gz lwn-a02976cfce4fe8336c6be08cd4dc35ca1aa794e9.zip |
timers: Use __raise_softirq_irqoff() to raise the softirq.
Raising the timer soft interrupt is always done from hard interrupt
context, so it can be reduced to just setting the TIMER soft interrupt
flag. The soft interrupt will be invoked on return from interrupt.
Use therefore __raise_softirq_irqoff() to raise the TIMER soft interrupt,
which is a trivial optimization.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Link: https://lore.kernel.org/all/20241106150419.2593080-3-bigeasy@linutronix.de
-rw-r--r-- | kernel/time/timer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/timer.c b/kernel/time/timer.c index 0fc9d066a7be..1759de934284 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c @@ -2499,7 +2499,7 @@ static void run_local_timers(void) */ if (time_after_eq(jiffies, READ_ONCE(base->next_expiry)) || (i == BASE_DEF && tmigr_requires_handle_remote())) { - raise_softirq(TIMER_SOFTIRQ); + __raise_softirq_irqoff(TIMER_SOFTIRQ); return; } } |