]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: smp: IPI_CPU_STOP and IPI_CPU_CRASH_STOP should try for NMI
authorDouglas Anderson <dianders@chromium.org>
Wed, 6 Sep 2023 16:03:00 +0000 (09:03 -0700)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 25 Sep 2023 16:15:29 +0000 (17:15 +0100)
There's no reason why IPI_CPU_STOP and IPI_CPU_CRASH_STOP can't be
handled as NMI. They are very simple and everything in them is
NMI-safe. Mark them as things to use NMI for if NMI is available.

Suggested-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Misono Tomohiro <misono.tomohiro@fujitsu.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20230906090246.v13.5.Ifadbfd45b22c52edcb499034dd4783d096343260@changeid
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/smp.c

index 28c904ca499a0d000e11af6be679104f950c7ed6..800c59cf9b646fbc6f4c5dab88d7f315faa0fd86 100644 (file)
@@ -946,6 +946,8 @@ static bool ipi_should_be_nmi(enum ipi_msg_type ipi)
                return false;
 
        switch (ipi) {
+       case IPI_CPU_STOP:
+       case IPI_CPU_CRASH_STOP:
        case IPI_CPU_BACKTRACE:
                return true;
        default: