Messages in this thread | | | From | Yuichi Ito <> | Subject | [PATCH 0/2] Enable support IPI_CPU_CRASH_STOP to be pseudo-NMI | Date | Thu, 24 Sep 2020 13:42:34 +0900 |
| |
Enable support IPI_CPU_CRASH_STOP to be pseudo-NMI
This patchset enables IPI_CPU_CRASH_STOP IPI to be pseudo-NMI. This allows kdump to collect system information even when the CPU is in a HARDLOCKUP state.
Only IPI_CPU_CRASH_STOP uses NMI and the other IPIs remain normal IRQs.
The patch has been tested on ThunderX.
This patch assumes Marc's latest IPIs patch-set. [1] It also uses some of Sumit's IPI patch set for NMI.[2]
[1] https://lore.kernel.org/linux-arm-kernel/20200901144324.1071694-1-maz@kernel.org/ [2] https://lore.kernel.org/linux-arm-kernel/1599830924-13990-3-git-send-email-sumit.garg@linaro.org/
$ echo 1 > /proc/sys/kernel/panic_on_rcu_stal $ echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT : kernel panics and crash kernel boot : makedumpfile saves the system state at HARDLOCKUP in vmcore.
crash utility: crash> bt PID: 3213 TASK: fffffd001adc5940 CPU: 8 COMMAND: "bash" #0 [fffffe0022fefcf0] lkdtm_HARDLOCKUP at fffffe0010888ab4 #1 [fffffe0022fefd10] lkdtm_do_action at fffffe00108882bc #2 [fffffe0022fefd20] direct_entry at fffffe0010888720 #3 [fffffe0022fefd70] full_proxy_write at fffffe001058cfe4 #4 [fffffe0022fefdb0] vfs_write at fffffe00104a4c2c #5 [fffffe0022fefdf0] ksys_write at fffffe00104a4f0c #6 [fffffe0022fefe40] __arm64_sys_write at fffffe00104a4fbc #7 [fffffe0022fefe50] el0_svc_common.constprop.0 at fffffe0010159e38 #8 [fffffe0022fefe80] do_el0_svc at fffffe0010159fa0 #9 [fffffe0022fefe90] el0_svc at fffffe00101481d0 #10 [fffffe0022fefea0] el0_sync_handler at fffffe00101484b4 #11 [fffffe0022fefff0] el0_sync at fffffe0010142b7c
Sumit Garg (1): irqchip/gic-v3: Enable support for SGIs to act as NMIs
Yuichi Ito (1): Register IPI_CPU_CRASH_STOP IPI as pseudo-NMI
arch/arm64/kernel/smp.c | 39 ++++++++++++++++++++++++++++-------- drivers/irqchip/irq-gic-v3.c | 13 ++++++++++-- 2 files changed, 42 insertions(+), 10 deletions(-)
-- 2.25.1
| |