[PATCH 3/3] ARM: add basic support for on-demand backtrace of other CPUs
Daniel Thompson
daniel.thompson at linaro.org
Thu Jul 16 02:13:26 PDT 2015
On 15/07/15 21:39, Russell King wrote:
> As we now have generic infrastructure to support backtracing of other
> CPUs in the system on lockups, we can start to implement this for ARM.
> Initially, we add an IPI based implementation, as the GIC code needs
> modification to support the generation of FIQ IPIs, and not all ARM
> platforms have the ability to raise a FIQ in the non-secure world.
>
> This provides us with a "best efforts" implementation in the absence
> of FIQs.
>
> Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
> ---
> diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
> index 90dfbedfbfb8..3a20c386fd33 100644
> --- a/arch/arm/kernel/smp.c
> +++ b/arch/arm/kernel/smp.c
> @@ -21,6 +21,7 @@
> #include <linux/cpu.h>
> #include <linux/seq_file.h>
> #include <linux/irq.h>
> +#include <linux/nmi.h>
> #include <linux/percpu.h>
> #include <linux/clockchips.h>
> #include <linux/completion.h>
> @@ -72,6 +73,7 @@ enum ipi_msg_type {
> IPI_CPU_STOP,
> IPI_IRQ_WORK,
> IPI_COMPLETION,
> + IPI_CPU_BACKTRACE = 15,
Even with the potential for (eventually) being signalled by FIQ, is this
IPI really so special it needs to be placed outside the scope of NR_IPI
and the accounting and tracing support it brings with it?
More information about the linux-arm-kernel
mailing list