linux/arch/sh/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 sh/SH-X3 SMP: Convert to hotplug state machine 2016-09-19 21:44:27 +02:00
vsyscall vdso: make arch_setup_additional_pages wait for mmap_sem for write killable 2016-05-23 17:04:14 -07:00
.gitignore
asm-offsets.c sh: Remove signal translation and exec_domain 2015-04-12 20:58:25 +02:00
crash_dump.c crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn 2011-03-23 19:47:19 -07:00
debugtraps.S
disassemble.c
dma-nommu.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
dumpstack.c sh: fix format string bug in stack tracer 2014-04-03 16:20:49 -07:00
dwarf.c sh: Delete unnecessary checks before the function call "mempool_destroy" 2016-08-05 03:29:42 +00:00
entry-common.S sh: provide unified syscall trap compatible with all SH models 2016-03-17 19:46:06 +00:00
ftrace.c This release cycle is rather small. Just a few fixes to tracing. 2016-10-06 11:48:41 -07:00
head_32.S sh: fix build regression with CONFIG_OF && !CONFIG_OF_FLATTREE 2016-07-31 03:33:32 +00:00
head_64.S
hw_breakpoint.c sh: Replace __get_cpu_var uses 2014-06-04 16:53:52 -07:00
idle.c sched/idle, SH: Remove redundant cpuidle_idle_call() 2014-02-11 09:58:26 +01:00
io_trapped.c Kconfig: rename HAS_IOPORT to HAS_IOPORT_MAP 2014-04-07 16:36:11 -07:00
io.c sh: support for platforms without PIO. 2010-06-02 16:31:42 +09:00
iomap.c sh: machvec IO death. 2010-11-01 09:49:04 -04:00
ioport.c sections: fix section conflicts in arch/sh 2012-10-06 03:04:40 +09:00
irq_32.c Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
irq_64.c sh64: update for IRQ flag handling naming changes. 2010-10-27 15:34:51 +09:00
irq.c sh/irq: Use access helper irq_data_get_affinity_mask() 2015-07-29 10:08:08 +02:00
kdebugfs.c sh: provide generic arch_debugfs_dir. 2010-09-24 04:04:26 +09:00
kgdb.c arch/sh/kernel/kgdb.c: add missing #include <linux/sched.h> 2014-01-21 16:19:42 -08:00
kprobes.c sh: Replace __get_cpu_var uses 2014-06-04 16:53:52 -07:00
machine_kexec.c memblock: s/memblock_analyze()/memblock_allow_resize()/ and update users 2011-12-08 10:22:08 -08:00
machvec.c sh: Kill off machvec IRQ hinting. 2012-05-21 17:54:01 +09:00
Makefile sh: remove arch-specific localtimer and use generic one 2016-03-17 19:46:09 +00:00
module.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
nmi_debug.c
perf_callchain.c perf core: Pass max stack as a perf_callchain_entry context 2016-05-16 23:11:50 -03:00
perf_event.c sh/perf: Convert the hotplug notifiers to state machine callbacks 2016-07-14 09:34:39 +02:00
process_32.c exit_thread: remove empty bodies 2016-05-20 17:58:30 -07:00
process_64.c exit_thread: accept a task parameter to be exited 2016-05-20 17:58:30 -07:00
process.c sh: delete __cpuinit usage from all sh files 2013-07-14 19:36:53 -04:00
ptrace_32.c ARCH: AUDIT: audit_syscall_entry() should not require the arch 2014-09-23 16:21:26 -04:00
ptrace_64.c ARCH: AUDIT: audit_syscall_entry() should not require the arch 2014-09-23 16:21:26 -04:00
ptrace.c sh: Add kprobe-based event tracer. 2010-06-14 15:16:53 +09:00
reboot.c Disintegrate asm/system.h for SH 2012-03-28 18:30:03 +01:00
relocate_kernel.S
return_address.c sh: handle early calls to return_address() when using dwarf unwinder. 2010-05-25 16:16:40 +09:00
setup.c sh: fix build regression with CONFIG_OF && !CONFIG_OF_FLATTREE 2016-07-31 03:33:32 +00:00
sh_bios.c early_printk: consolidate random copies of identical code 2013-04-29 18:28:13 -07:00
sh_ksyms_32.c sh: New gcc support 2016-03-17 19:45:44 +00:00
sh_ksyms_64.c sh: use the new generic strnlen_user() function 2012-06-13 10:28:37 +09:00
signal_32.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
signal_64.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
smp.c arch/sh changes for 4.6. They include minor cleanups, a fix for a 2016-03-19 16:09:43 -07:00
stacktrace.c sh: remove warning and warning_symbol from struct stacktrace_ops 2011-05-23 14:42:15 +09:00
swsusp.c
sys_sh32.c sh: push extra copy of r0-r2 for syscall parameters 2014-04-03 16:20:52 -07:00
sys_sh.c sh: avoid to flush all cache in sys_cacheflush 2010-11-17 17:55:30 +09:00
syscalls_32.S sh: system call wire up 2016-08-05 03:29:44 +00:00
syscalls_64.S sh: system call wire up 2016-08-05 03:29:44 +00:00
time.c These changes improve device tree support (including builtin DTB), add 2016-08-06 09:00:05 -04:00
topology.c sh: fix function signature of cpu_coregroup_mask to match pointer type 2016-03-30 00:47:49 +00:00
traps_32.c sh: don't pass saved userspace state to exception handlers 2014-04-03 16:20:52 -07:00
traps_64.c arch/sh/kernel/traps_64.c: use sign_extend64() for sign extension 2015-11-06 17:50:42 -08:00
traps.c taint: add explicit flag to show whether lock dep is still OK. 2013-01-21 17:17:57 +10:30
unwinder.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
vmlinux.lds.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00