linux/arch/microblaze/kernel
Chris Metcalf 6727ad9e20 nmi_backtrace: generate one-line reports for idle cpus
When doing an nmi backtrace of many cores, most of which are idle, the
output is a little overwhelming and very uninformative.  Suppress
messages for cpus that are idling when they are interrupted and just
emit one line, "NMI backtrace for N skipped: idling at pc 0xNNN".

We do this by grouping all the cpuidle code together into a new
.cpuidle.text section, and then checking the address of the interrupted
PC to see if it lies within that section.

This commit suitably tags x86 and tile idle routines, and only adds in
the minimal framework for other architectures.

Link: http://lkml.kernel.org/r/1472487169-14923-5-git-send-email-cmetcalf@mellanox.com
Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Daniel Thompson <daniel.thompson@linaro.org> [arm]
Tested-by: Petr Mladek <pmladek@suse.com>
Cc: Aaron Tomlin <atomlin@redhat.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
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>
2016-10-07 18:46:30 -07:00
..
cpu microblaze: Add missing release version code 2015-06-08 09:57:07 +02:00
.gitignore microblaze: Add .gitignore entries for auto-generated files 2013-02-12 11:24:44 +01:00
asm-offsets.c microblaze: Remove "cache" optimized copy_page function 2010-05-06 11:21:58 +02:00
dma.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
early_printk.c early_printk: consolidate random copies of identical code 2013-04-29 18:28:13 -07:00
entry-nommu.S microblaze: fix handling of multiple pending signals 2013-02-03 18:16:02 -05:00
entry.S microblaze: Fix syscall error recovery for invalid syscall IDs 2015-03-04 15:12:27 +01:00
exceptions.c microblaze: Do not use module.h in files which are not modules 2013-02-12 11:24:45 +01:00
ftrace.c ftrace: Add return address pointer to ftrace_ret_stack 2016-08-24 12:15:14 +02:00
head.S microblaze: Fix typo in head.S s/substract/subtract/ 2014-06-05 13:02:02 +02:00
heartbeat.c microblaze: Rename global function heartbeat() 2014-03-12 10:10:06 +01:00
hw_exception_handler.S microblaze: Fix compilation error for BS=0 2014-01-27 11:26:33 +01:00
intc.c microblaze/irq: prepare for drivers/irqchip/irqchip.h removal 2015-07-31 20:51:21 +02:00
irq.c microblaze: intc: Using irqchip 2013-09-03 11:24:48 +02:00
kgdb.c microblaze: Label local function static 2015-06-08 09:57:08 +02:00
Makefile microblaze: Remove unused prom_parse.c 2015-01-05 12:36:41 +01:00
mcount.S microblaze: ftrace: Remove check of obsolete variable function_trace_stop 2014-07-18 13:57:08 -04:00
microblaze_ksyms.c microblaze: Do not use module.h in files which are not modules 2013-02-12 11:24:45 +01:00
misc.S microblaze: Handle TLB skip size dynamically 2012-03-23 09:28:19 +01:00
module.c microblaze: Do not use module.h in files which are not modules 2013-02-12 11:24:45 +01:00
platform.c microblaze: Remove platform folder 2014-04-07 13:45:21 +02:00
process.c microblaze: Fix sparse warning because of missing cpu.h header 2014-04-07 13:45:17 +02:00
prom.c of/fdt: create common debugfs 2014-04-30 00:59:16 -05:00
ptrace.c microblaze: Use unsigned return type in do_syscall_trace_enter 2015-01-05 12:36:43 +01:00
reset.c microblaze: Remove unused prom header from reset.c 2015-01-05 12:36:42 +01:00
setup.c locking/lockdep: Eliminate lockdep_init() 2016-02-09 12:03:25 +01:00
signal.c Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc 2015-04-15 13:53:55 -07:00
stacktrace.c microblaze: Do not use module.h in files which are not modules 2013-02-12 11:24:45 +01:00
sys_microblaze.c microblaze: Fix bug with mmap2 syscall MB implementation 2013-11-08 15:20:44 +01:00
syscall_table.S microblaze: Wire up userfaultfd, membarrier, mlock2 syscalls 2016-05-16 09:18:01 +02:00
timer.c clocksources: Switch back to the clksrc table 2016-06-28 10:19:35 +02:00
traps.c dump_stack: consolidate dump_stack() implementations and unify their behaviors 2013-04-30 17:04:02 -07:00
unwind.c microblaze: Mark get_frame_size as static 2015-01-05 12:36:44 +01:00
vmlinux.lds.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00