diff options
author | 2021-02-12 08:27:51 -0700 | |
---|---|---|
committer | 2021-02-12 08:27:51 -0700 | |
commit | 93e4f73a93717993bd239e6606689e9ae01c6926 (patch) | |
tree | f64a7f0354dff6475b5fba0c97817832112aa96e | |
parent | Linux 5.11-rc7 (diff) | |
parent | smp: Process pending softirqs in flush_smp_call_function_from_idle() (diff) | |
download | linux-dev-93e4f73a93717993bd239e6606689e9ae01c6926.tar.xz linux-dev-93e4f73a93717993bd239e6606689e9ae01c6926.zip |
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.c | 4 |
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); } |