linux/arch/tile/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
..
vdso tile/vdso: emit a GNU hash as well 2015-08-06 20:22:40 -04:00
asm-offsets.c tile: check for correct compiler earlier in asm-offsets.c 2013-09-03 14:53:09 -04:00
backtrace.c arch/tile: big-endian: properly bswap instruction bundles when backtracing 2012-06-18 13:11:21 -04:00
compat_signal.c signal: fix information leak in copy_siginfo_from_user32 2015-08-07 04:39:40 +03:00
compat.c tile 32-bit big-endian: fix bugs in syscall argument order 2016-06-15 15:31:01 -04:00
early_printk.c printk: remove used-once early_vprintk 2014-12-10 17:41:10 -08:00
entry.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00
ftrace.c ftrace: Add return address pointer to ftrace_ret_stack 2016-08-24 12:15:14 +02:00
hardwall.c tile: use %*pb[l] to print bitmaps including cpumasks and nodemasks 2015-02-13 21:21:37 -08:00
head_32.S tile: parameterize VA and PA space more cleanly 2013-09-03 14:47:34 -04:00
head_64.S tile: parameterize VA and PA space more cleanly 2013-09-03 14:47:34 -04:00
hvglue_trace.c tile: support delivering NMIs for multicore backtrace 2015-05-11 11:22:31 -04:00
hvglue.S tile: support delivering NMIs for multicore backtrace 2015-05-11 11:22:31 -04:00
intvec_32.S arch/tile: move user_exit() to early kernel entry sequence 2016-01-18 14:49:30 -05:00
intvec_64.S arch/tile: move user_exit() to early kernel entry sequence 2016-01-18 14:49:30 -05:00
irq.c tile: Use the more common pr_warn instead of pr_warning 2014-11-11 15:51:42 -05:00
jump_label.c tile/jump_label: add jump label support for TILE-Gx 2016-01-04 15:09:31 -05:00
kgdb.c tile: Fix misspellings in comments. 2016-03-04 14:44:57 -05:00
kprobes.c tile: define a macro ktext_writable_addr to get writable kernel text address 2016-01-04 15:09:31 -05:00
machine_kexec.c tile: Use the more common pr_warn instead of pr_warning 2014-11-11 15:51:42 -05:00
Makefile tile/jump_label: add jump label support for TILE-Gx 2016-01-04 15:09:31 -05:00
mcount_64.S tile: ftrace: fix function_graph tracer issues 2015-04-17 14:01:38 -04:00
messaging.c tile: Use the more common pr_warn instead of pr_warning 2014-11-11 15:51:42 -05:00
module.c module: remove mod arg from module_free, rename module_memfree(). 2015-01-20 11:38:33 +10:30
pci_gx.c Fix typo 2016-05-23 12:17:22 -04:00
pci-dma.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
pci.c PCI: Assign resources before drivers claim devices (pci_scan_root_bus()) 2015-03-19 10:17:13 -05:00
perf_event.c perf core: Pass max stack as a perf_callchain_entry context 2016-05-16 23:11:50 -03:00
pmc.c arch/tile: adopt the new nmi_backtrace framework 2016-10-07 18:46:30 -07:00
proc.c tile: use %*pb[l] to print bitmaps including cpumasks and nodemasks 2015-02-13 21:21:37 -08:00
process.c arch/tile: adopt the new nmi_backtrace framework 2016-10-07 18:46:30 -07:00
ptrace.c tile/ptrace: run seccomp after ptrace 2016-06-14 10:54:46 -07:00
reboot.c tile: various console improvements 2013-08-12 14:46:18 -04:00
regs_32.S tile: change <asm/system.h> to <asm/switch_to.h> in comments 2013-09-03 14:53:17 -04:00
regs_64.S tile: change <asm/system.h> to <asm/switch_to.h> in comments 2013-09-03 14:53:17 -04:00
relocate_kernel_32.S tile: remove support for TILE64 2013-09-03 14:53:29 -04:00
relocate_kernel_64.S tile: remove support for TILE64 2013-09-03 14:53:29 -04:00
setup.c include/linux/nodemask.h: create next_node_in() helper 2016-05-19 19:12:14 -07:00
signal.c tile: Remove signal translation and exec_domain 2015-04-12 21:03:27 +02:00
single_step.c arch/tile: move user_exit() to early kernel entry sequence 2016-01-18 14:49:30 -05:00
smp.c tile: support arch_irq_work_raise 2015-04-17 12:58:44 -04:00
smpboot.c arch/hotplug: Call into idle with a proper state 2016-03-01 20:36:57 +01:00
stack.c tile: include the syscall number in the backtrace 2016-01-18 14:49:16 -05:00
sys.c tile 32-bit big-endian: fix bugs in syscall argument order 2016-06-15 15:31:01 -04:00
sysfs.c bus: subsys: update return type of ->remove_dev() to void 2015-08-05 17:08:14 -07:00
tile-desc_32.c arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
tile-desc_64.c arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
time.c tile/time: Migrate to new 'set-state' interface 2015-07-30 12:32:15 -04:00
tlb.c tile: do less L1 I-cache eviction 2013-08-30 11:56:34 -04:00
traps.c arch/tile: adopt the new nmi_backtrace framework 2016-10-07 18:46:30 -07:00
unaligned.c Fix typo 2016-05-23 12:17:22 -04:00
usb.c tile: fix build failure 2015-09-28 11:23:39 -04:00
vdso.c arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
vmlinux.lds.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00