Message ID | 20230830121115.v12.5.Ifadbfd45b22c52edcb499034dd4783d096343260@changeid (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: Add IPI for backtraces / kgdb; try to use NMI for some IPIs | expand |
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@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> > Signed-off-by: Douglas Anderson <dianders@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@arm.com> Tested-by: Mark Rutland <mark.rutland@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 >
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: