RE: [PATCH 0/2] Enable support IPI_CPU_CRASH_STOP to be pseudo-NMI

From: ito-yuichi@xxxxxxxxxxx
Date: Sun Sep 27 2020 - 22:50:29 EST


Hi Marc, Sumit

I would appreciate if you have any advice on this patch.

Yuichi Ito

> -----Original Message-----
> From: Yuichi Ito <ito-yuichi@xxxxxxxxxxx>
> Sent: Thursday, September 24, 2020 1:43 PM
> To: maz@xxxxxxxxxx; sumit.garg@xxxxxxxxxx; tglx@xxxxxxxxxxxxx;
> jason@xxxxxxxxxxxxxx; catalin.marinas@xxxxxxx; will@xxxxxxxxxx
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Ito,
> Yuichi/伊藤 有一 <ito-yuichi@xxxxxxxxxxx>
> Subject: [PATCH 0/2] Enable support IPI_CPU_CRASH_STOP to be
> pseudo-NMI
>
> 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@ke
> rnel.org/
> [2]
> https://lore.kernel.org/linux-arm-kernel/1599830924-13990-3-git-send-email
> -sumit.garg@xxxxxxxxxx/
>
> $ 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