linux_dsm_epyc7002/arch/x86/kernel/apic
Steven Rostedt (Red Hat) a9edc88093 x86/nmi: Perform a safe NMI stack trace on all CPUs
When trigger_all_cpu_backtrace() is called on x86, it will trigger an
NMI on each CPU and call show_regs(). But this can lead to a hard lock
up if the NMI comes in on another printk().

In order to avoid this, when the NMI triggers, it switches the printk
routine for that CPU to call a NMI safe printk function that records the
printk in a per_cpu seq_buf descriptor. After all NMIs have finished
recording its data, the seq_bufs are printed in a safe context.

Link: http://lkml.kernel.org/p/20140619213952.360076309@goodmis.org
Link: http://lkml.kernel.org/r/20141115050605.055232587@goodmis.org

Tested-by: Jiri Kosina <jkosina@suse.cz>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-11-19 22:01:21 -05:00
..
apic_flat_64.c x86, apic: Remove enable_apic_mode callback 2014-07-31 08:05:44 -07:00
apic_noop.c x86, apic: Remove enable_apic_mode callback 2014-07-31 08:05:44 -07:00
apic_numachip.c x86: Fix section conflict for numachip 2014-10-08 11:18:49 +02:00
apic.c x86: Replace __get_cpu_var uses 2014-08-26 13:45:49 -04:00
bigsmp_32.c x86, apic: Remove enable_apic_mode callback 2014-07-31 08:05:44 -07:00
hw_nmi.c x86/nmi: Perform a safe NMI stack trace on all CPUs 2014-11-19 22:01:21 -05:00
io_apic.c x86 / PM: Set IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects 2014-09-01 13:49:07 +02:00
ipi.c x86: Delete non-required instances of include <linux/init.h> 2014-01-06 21:25:18 -08:00
Makefile x86, platforms: Remove NUMAQ 2014-02-27 08:07:39 -08:00
probe_32.c x86, apic: Remove enable_apic_mode callback 2014-07-31 08:05:44 -07:00
probe_64.c x86/platform: Introduce APIC post-initialization callback 2012-06-06 09:06:19 +02:00
x2apic_cluster.c percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t -fix 2014-09-09 07:17:43 +09:00
x2apic_phys.c x86, apic: Remove enable_apic_mode callback 2014-07-31 08:05:44 -07:00
x2apic_uv_x.c Merge branches 'x86-ras-for-linus', 'x86-uv-for-linus' and 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-14 02:31:22 +02:00