summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/smp-Process-pending-softirqs-in-flush_smp_call_funct.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/smp-Process-pending-softirqs-in-flush_smp_call_funct.patch')
-rw-r--r--debian/patches-rt/smp-Process-pending-softirqs-in-flush_smp_call_funct.patch45
1 files changed, 0 insertions, 45 deletions
diff --git a/debian/patches-rt/smp-Process-pending-softirqs-in-flush_smp_call_funct.patch b/debian/patches-rt/smp-Process-pending-softirqs-in-flush_smp_call_funct.patch
deleted file mode 100644
index 465818e1b..000000000
--- a/debian/patches-rt/smp-Process-pending-softirqs-in-flush_smp_call_funct.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-Date: Sat, 23 Jan 2021 21:10:25 +0100
-Subject: [PATCH] smp: Process pending softirqs in
- flush_smp_call_function_from_idle()
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.17-rt32.tar.xz
-
-send_call_function_single_ipi() may wake an idle CPU without sending an
-IPI. The woken up CPU will process the SMP-functions in
-flush_smp_call_function_from_idle(). Any raised softirq from within the
-SMP-function call will not be processed.
-Should the CPU have no tasks assigned, then it will go back to idle with
-pending softirqs and the NOHZ will rightfully complain.
-
-Process pending softirqs on return from flush_smp_call_function_queue().
-
-Fixes: b2a02fc43a1f4 ("smp: Optimize send_call_function_single_ipi()")
-Reported-by: Jens Axboe <axboe@kernel.dk>
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Link: https://lkml.kernel.org/r/20210123201027.3262800-2-bigeasy@linutronix.de
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
----
- kernel/smp.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/kernel/smp.c
-+++ b/kernel/smp.c
-@@ -14,6 +14,7 @@
- #include <linux/export.h>
- #include <linux/percpu.h>
- #include <linux/init.h>
-+#include <linux/interrupt.h>
- #include <linux/gfp.h>
- #include <linux/smp.h>
- #include <linux/cpu.h>
-@@ -449,6 +450,9 @@ void flush_smp_call_function_from_idle(v
-
- local_irq_save(flags);
- flush_smp_call_function_queue(true);
-+ if (local_softirq_pending())
-+ do_softirq();
-+
- local_irq_restore(flags);
- }
-