summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2021-11-18 19:50:45 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2021-11-18 19:50:45 +0100
commit7d5775d49e4a488bc8a07e5abb2b71a4c28aadbb (patch)
treedc93689f2ece8f213e223951f75aada9d86c6be6 /lib
parentMerge tag 'gfs2-v5.16-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel... (diff)
parentMerge branch 'rework/printk_safe-removal' into for-linus (diff)
downloadlinux-7d5775d49e4a488bc8a07e5abb2b71a4c28aadbb.tar.xz
linux-7d5775d49e4a488bc8a07e5abb2b71a4c28aadbb.zip
Merge tag 'printk-for-5.16-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux
Pull printk fixes from Petr Mladek: - Try to flush backtraces from other CPUs also on the local one. This was a regression caused by printk_safe buffers removal. - Remove header dependency warning. * tag 'printk-for-5.16-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux: printk: Remove printk.h inclusion in percpu.h printk: restore flushing of NMI buffers on remote CPUs after NMI backtraces
Diffstat (limited to 'lib')
-rw-r--r--lib/nmi_backtrace.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/nmi_backtrace.c b/lib/nmi_backtrace.c
index f9e89001b52e..199ab201d501 100644
--- a/lib/nmi_backtrace.c
+++ b/lib/nmi_backtrace.c
@@ -75,6 +75,12 @@ void nmi_trigger_cpumask_backtrace(const cpumask_t *mask,
touch_softlockup_watchdog();
}
+ /*
+ * Force flush any remote buffers that might be stuck in IRQ context
+ * and therefore could not run their irq_work.
+ */
+ printk_trigger_flush();
+
clear_bit_unlock(0, &backtrace_flag);
put_cpu();
}