diff options
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.patch | 45 |
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); - } - |