summaryrefslogtreecommitdiffstats
path: root/arch/c6x/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@mellanox.com>2016-10-08 02:02:49 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2016-10-08 03:46:30 +0200
commit677664895278267a80bda0e3b26821d60cdbebf5 (patch)
tree6828a9d2fa2f84ddc47dcd2f7ad6a5b249b400e9 /arch/c6x/kernel/vmlinux.lds.S
parentnmi_backtrace: add more trigger_*_cpu_backtrace() methods (diff)
downloadlinux-677664895278267a80bda0e3b26821d60cdbebf5.tar.xz
linux-677664895278267a80bda0e3b26821d60cdbebf5.zip
nmi_backtrace: do a local dump_stack() instead of a self-NMI
Currently on arm there is code that checks whether it should call dump_stack() explicitly, to avoid trying to raise an NMI when the current context is not preemptible by the backtrace IPI. Similarly, the forthcoming arch/tile support uses an IPI mechanism that does not support generating an NMI to self. Accordingly, move the code that guards this case into the generic mechanism, and invoke it unconditionally whenever we want a backtrace of the current cpu. It seems plausible that in all cases, dump_stack() will generate better information than generating a stack from the NMI handler. The register state will be missing, but that state is likely not particularly helpful in any case. Or, if we think it is helpful, we should be capturing and emitting the current register state in all cases when regs == NULL is passed to nmi_cpu_backtrace(). Link: http://lkml.kernel.org/r/1472487169-14923-3-git-send-email-cmetcalf@mellanox.com Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com> Tested-by: Daniel Thompson <daniel.thompson@linaro.org> [arm] Reviewed-by: Petr Mladek <pmladek@suse.com> Acked-by: Aaron Tomlin <atomlin@redhat.com> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> Cc: Russell King <linux@arm.linux.org.uk> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/c6x/kernel/vmlinux.lds.S')
0 files changed, 0 insertions, 0 deletions