summaryrefslogtreecommitdiff
path: root/kernel/trace/trace.c
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2016-03-18 15:28:04 (GMT)
committerSteven Rostedt <rostedt@goodmis.org>2016-03-22 22:04:10 (GMT)
commit7e6867bf831c71fe0e47438831ae3a94d4c7ab3c (patch)
treeaff6902663d850f314a23900a8caebf9a78e2a86 /kernel/trace/trace.c
parent3debb0a9ddb16526de8b456491b7db60114f7b5e (diff)
downloadlinux-7e6867bf831c71fe0e47438831ae3a94d4c7ab3c.tar.xz
tracing: Record and show NMI state
The latency tracer format has a nice column to indicate IRQ state, but this is not able to tell us about NMI state. When tracing perf interrupt handlers (which often run in NMI context) it is very useful to see how the events nest. Link: http://lkml.kernel.org/r/20160318153022.105068893@infradead.org Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r--kernel/trace/trace.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index cb2b708..7bdf8ba 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -1664,6 +1664,7 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags,
#else
TRACE_FLAG_IRQS_NOSUPPORT |
#endif
+ ((pc & NMI_MASK ) ? TRACE_FLAG_NMI : 0) |
((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) |
((pc & SOFTIRQ_MASK) ? TRACE_FLAG_SOFTIRQ : 0) |
(tif_need_resched() ? TRACE_FLAG_NEED_RESCHED : 0) |