summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2021-02-12 08:27:51 -0700
committerJens Axboe <axboe@kernel.dk>2021-02-12 08:27:51 -0700
commit93e4f73a93717993bd239e6606689e9ae01c6926 (patch)
treef64a7f0354dff6475b5fba0c97817832112aa96e
parent92bf22614b21a2706f4993b278017e437f7785b3 (diff)
parent66040b2d5d41f85cb1a752a75260595344c5ec3b (diff)
Merge branch 'sched/smp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into for-5.12/block-ipi
* 'sched/smp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: smp: Process pending softirqs in flush_smp_call_function_from_idle()
-rw-r--r--kernel/smp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/smp.c b/kernel/smp.c
index 1b6070bf97bb..aeb0adfa0606 100644
--- 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(void)
local_irq_save(flags);
flush_smp_call_function_queue(true);
+ if (local_softirq_pending())
+ do_softirq();
+
local_irq_restore(flags);
}