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

Mark Rutland mark.rutland at arm.com
Thu Aug 31 03:12:34 PDT 2023


On Wed, Aug 30, 2023 at 12:11:26PM -0700, Douglas Anderson wrote:
> 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>
> Signed-off-by: Douglas Anderson <dianders at chromium.org>
> ---
> I don't actually have any good way to test/validate this patch. It's
> added to the series at Mark's request.

I've just sent out an LKDTM test that can be used to test this:

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

So FWIW:

Acked-by: Mark Rutland <mark.rutland at arm.com>
Tested-by: Mark Rutland <mark.rutland at arm.com>

Mark.

> 
> (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