tracing: Still trace filtered irq functions when irq trace is disabled
commite4a3f541f0b67fdad98b326c851dfe7f4b6b6dad
authorSteven Rostedt <srostedt@redhat.com>
Tue, 14 Jun 2011 23:02:29 +0000 (14 19:02 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 8 Jul 2011 02:26:27 +0000 (7 22:26 -0400)
treee93b858ab3313374d23c4ebadc5077816f1894f2
parente08fbb78f03fe2c4f88824faf6f51ce6af185e11
tracing: Still trace filtered irq functions when irq trace is disabled

If a function is set to be traced by the set_graph_function, but the
option funcgraph-irqs is zero, and the traced function happens to be
called from a interrupt, it will not be traced.

The point of funcgraph-irqs is to not trace interrupts when we are
preempted by an irq, not to not trace functions we want to trace that
happen to be *in* a irq.

Luckily the current->trace_recursion element is perfect to add a flag
to help us be able to trace functions within an interrupt even when
we are not tracing interrupts that preempt the trace.

Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Tested-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace.h
kernel/trace/trace_functions_graph.c