diff mbox series

[v2,1/3] hrtimer: Use __raise_softirq_irqoff() to raise the softirq.

Message ID 20241024150413.518862-2-bigeasy@linutronix.de (mailing list archive)
State New
Headers show
Series softirq: Use a dedicated thread for timer wakeups on PREEMPT_RT. | expand

Commit Message

Sebastian Andrzej Siewior Oct. 24, 2024, 2:55 p.m. UTC
As an optimisation use __raise_softirq_irqoff() to raise the softirq.
This is always called from an interrupt handler so it can be reduced to
just or set softirq flag and let softirq be invoked on return from
interrupt.

Use __raise_softirq_irqoff() to raise the softirq.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 kernel/time/hrtimer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Frederic Weisbecker Oct. 28, 2024, 1:11 p.m. UTC | #1
Le Thu, Oct 24, 2024 at 04:55:49PM +0200, Sebastian Andrzej Siewior a écrit :
> As an optimisation use __raise_softirq_irqoff() to raise the softirq.
> This is always called from an interrupt handler so it can be reduced to
> just or set softirq flag and let softirq be invoked on return from
> interrupt.
> 
> Use __raise_softirq_irqoff() to raise the softirq.
> 
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
diff mbox series

Patch

diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index cddcd08ea827f..5402e0f242178 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -1811,7 +1811,7 @@  void hrtimer_interrupt(struct clock_event_device *dev)
 	if (!ktime_before(now, cpu_base->softirq_expires_next)) {
 		cpu_base->softirq_expires_next = KTIME_MAX;
 		cpu_base->softirq_activated = 1;
-		raise_softirq_irqoff(HRTIMER_SOFTIRQ);
+		__raise_softirq_irqoff(HRTIMER_SOFTIRQ);
 	}
 
 	__hrtimer_run_queues(cpu_base, now, flags, HRTIMER_ACTIVE_HARD);
@@ -1906,7 +1906,7 @@  void hrtimer_run_queues(void)
 	if (!ktime_before(now, cpu_base->softirq_expires_next)) {
 		cpu_base->softirq_expires_next = KTIME_MAX;
 		cpu_base->softirq_activated = 1;
-		raise_softirq_irqoff(HRTIMER_SOFTIRQ);
+		__raise_softirq_irqoff(HRTIMER_SOFTIRQ);
 	}
 
 	__hrtimer_run_queues(cpu_base, now, flags, HRTIMER_ACTIVE_HARD);