]> asedeno.scripts.mit.edu Git - linux.git/commit
tracing: More reverting of "tracing: Centralize preemptirq tracepoints and unify...
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 9 Aug 2018 01:28:05 +0000 (21:28 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 10 Aug 2018 19:12:00 +0000 (15:12 -0400)
commit3f1756dc210e5abb37121da3e7c10d65920f6ec0
tree9adb16d03c5e6f1de6d1fc765da1d5aa0590e78e
parentf27107fa20ad531ace5fd580473ff8dd0c6b9ca9
tracing: More reverting of "tracing: Centralize preemptirq tracepoints and unify their usage"

Joel Fernandes created a nice patch that cleaned up the duplicate hooks used
by lockdep and irqsoff latency tracer. It made both use tracepoints. But the
latency tracer is triggering warnings when using tracepoints to call into
the latency tracer's routines. Mainly, they can be called from NMI context.
If that happens, then the SRCU may not work properly because on some
architectures, SRCU is not safe to be called in both NMI and non-NMI
context.

This is a partial revert of the clean up patch c3bc8fd637a9 ("tracing:
Centralize preemptirq tracepoints and unify their usage") that adds back the
direct calls into the latency tracer. It also only calls the trace events
when not in NMI.

Link: http://lkml.kernel.org/r/20180809210654.622445925@goodmis.org
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Fixes: c3bc8fd637a9 ("tracing: Centralize preemptirq tracepoints and unify their usage")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace.h
kernel/trace/trace_irqsoff.c
kernel/trace/trace_preemptirq.c