[PATCH v13 5/7] arm64: smp: IPI_CPU_STOP and IPI_CPU_CRASH_STOP should try for NMI

Douglas Anderson dianders at chromium.org
Wed Sep 6 09:03:00 PDT 2023


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 at arm.com>
Reviewed-by: Stephen Boyd <swboyd at chromium.org>
Reviewed-by: Misono Tomohiro <misono.tomohiro at fujitsu.com>
Reviewed-by: Sumit Garg <sumit.garg at linaro.org>
Acked-by: Mark Rutland <mark.rutland at arm.com>
Tested-by: Mark Rutland <mark.rutland at arm.com>
Tested-by: Chen-Yu Tsai <wenst at chromium.org>
Signed-off-by: Douglas Anderson <dianders at chromium.org>
---
This patch is tested by Mark Rutland's LKDTM test [1].

[1] http://lore.kernel.org/lkml/20230831101026.3122590-1-mark.rutland@arm.com

(no changes since v10)

Changes in v10:
- ("IPI_CPU_STOP and IPI_CPU_CRASH_STOP should try for NMI") new for v10.

 arch/arm64/kernel/smp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
index 28c904ca499a..800c59cf9b64 100644
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
@@ -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:
-- 
2.42.0.283.g2d96d420d3-goog




More information about the linux-arm-kernel mailing list