[RFC,6/6] timers: Make process_timeout() soft-interruptible

Message ID 20230801132441.559222-7-frederic@kernel.org
State New
Headers
Series softirq: Start pushing down the big softirq lock |

Commit Message

Frederic Weisbecker Aug. 1, 2023, 1:24 p.m. UTC
  The most frequent timer can be safely interrupted by other vectors as
it's only performing a wake-up.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
---
 kernel/time/timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Patch

diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 1e43f54def0e..0f6eb9c0901c 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -2180,7 +2180,7 @@  signed long __sched schedule_timeout(signed long timeout)
 	expire = timeout + jiffies;
 
 	timer.task = current;
-	timer_setup_on_stack(&timer.timer, process_timeout, 0);
+	timer_setup_on_stack(&timer.timer, process_timeout, TIMER_SOFTINTERRUPTIBLE);
 	__mod_timer(&timer.timer, expire, MOD_TIMER_NOTPENDING);
 	schedule();
 	del_timer_sync(&timer.timer);