summaryrefslogtreecommitdiffstats
path: root/include/linux/printk.h
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2014-06-19 17:33:32 -0400
committerSteven Rostedt <rostedt@goodmis.org>2014-11-19 22:01:21 -0500
commita9edc88093287183ac934be44f295f183b2c62dd (patch)
tree41e34afb4b458d73e0e374479c780d861cd10f7b /include/linux/printk.h
parentafdc34a3d3b823a12a93b822ee1efb566f884032 (diff)
downloadlinux-a9edc88093287183ac934be44f295f183b2c62dd.tar.gz
linux-a9edc88093287183ac934be44f295f183b2c62dd.tar.bz2
linux-a9edc88093287183ac934be44f295f183b2c62dd.zip
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>
Diffstat (limited to 'include/linux/printk.h')
0 files changed, 0 insertions, 0 deletions