Hi folks, this the second iteration of the panic notifiers refactor work, but limited to the fixes/clean-ups in the first moment. The (full) V1 is available at: https://lore.kernel.org/lkml/20220427224924.592546-1-gpiccoli@xxxxxxxxxx/ The idea of splitting the series is that, originally we had a bunch of fixes followed by the notifiers refactor, but this second part (the effective refactor) is a bit "polemic", with reviews having antagonistic goals and some complexities - it might be hard to achieve consensus. For the curious, here is a good summary of the conflicting views and some strategies we might take in the refactor V2: https://lore.kernel.org/lkml/0d084eed-4781-c815-29c7-ac62c498e216@xxxxxxxxxx/ So splitting and sending only the simple fixes/clean-ups in a first moment makes sense, this way we don't prevent them to be discussed/merged/reworked while the more complex part is subject to scrutiny in a different (future) email thread. I've tried to test this series building for all affected architecture/drivers and also through some boot/runtime tests; below the test "matrix" used: Build tests (using cross-compilers): alpha, arm, arm64, parisc, um, x86_64. Boot/Runtime tests: x86_64 (Hyper-V and QEMU guests). Here is the link with the .config files used: https://people.igalia.com/gpiccoli/panic_notifiers_configs/5.19-rc7/ (tried my best to build all the affected code). The series is based on 5.19-rc7; I'd like to ask that, if possible, maintainers take the patches here in their trees, since there is no need to merge the series as whole, patches are independent from each other. Regarding the CC strategy, I've tried to reduce a bit the list of CCed emails, given that it was huge in the first iteration. Hopefully I didn't forget anybody interested in the topic (my apologies if so). As usual, reviews / comments are always welcome, thanks in advance for them! Cheers, Guilherme Guilherme G. Piccoli (13): ARM: Disable FIQs (but not IRQs) on CPUs shutdown paths notifier: Add panic notifiers info and purge trailing whitespaces firmware: google: Test spinlock on panic path to avoid lockups soc: bcm: brcmstb: Document panic notifier action and remove useless header alpha: Clean-up the panic notifier code um: Improve panic notifiers consistency and ordering parisc: Replace regular spinlock with spin_trylock on panic path tracing: Improve panic/die notifiers notifier: Show function names on notifier routines if DEBUG_NOTIFIERS is set EDAC/altera: Skip the panic notifier if kdump is loaded video/hyperv_fb: Avoid taking busy spinlock on panic path drivers/hv/vmbus, video/hyperv_fb: Untangle and refactor Hyper-V panic notifiers panic: Fixes the panic_print NMI backtrace setting arch/alpha/kernel/setup.c | 36 ++++----- arch/arm/kernel/machine_kexec.c | 2 + arch/arm/kernel/smp.c | 5 +- arch/parisc/include/asm/pdc.h | 1 + arch/parisc/kernel/firmware.c | 27 ++++++- arch/um/drivers/mconsole_kern.c | 7 +- arch/um/kernel/um_arch.c | 8 +- drivers/edac/altera_edac.c | 16 +++- drivers/firmware/google/gsmi.c | 8 ++ drivers/hv/ring_buffer.c | 16 ++++ drivers/hv/vmbus_drv.c | 109 +++++++++++++++++----------- drivers/parisc/power.c | 17 +++-- drivers/soc/bcm/brcmstb/pm/pm-arm.c | 16 +++- drivers/video/fbdev/hyperv_fb.c | 16 +++- include/linux/hyperv.h | 2 + include/linux/notifier.h | 8 +- kernel/notifier.c | 22 ++++-- kernel/panic.c | 47 +++++++----- kernel/trace/trace.c | 55 +++++++------- 19 files changed, 268 insertions(+), 150 deletions(-) -- 2.37.1