]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit - kernel/trace/trace_sched_wakeup.c
tracing/fgraph: Have wakeup and irqsoff tracers ignore graph functions too
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Fri, 9 Dec 2016 00:28:28 +0000 (19:28 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 9 Dec 2016 14:21:35 +0000 (09:21 -0500)
commit1a41442864e35bff859582fe9c5d051d0b1040ba
tree2936a094e5539875fca532d424291bcd9eef8c0e
parent794de08a16cf1fc1bf785dc48f66d36218cf6d88
tracing/fgraph: Have wakeup and irqsoff tracers ignore graph functions too

Currently both the wakeup and irqsoff traces do not handle set_graph_notrace
well. The ftrace infrastructure will ignore the return paths of all
functions leaving them hanging without an end:

  # echo '*spin*' > set_graph_notrace
  # cat trace
  [...]
          _raw_spin_lock() {
            preempt_count_add() {
            do_raw_spin_lock() {
          update_rq_clock();

Where the '*spin*' functions should have looked like this:

          _raw_spin_lock() {
            preempt_count_add();
            do_raw_spin_lock();
          }
          update_rq_clock();

Instead, have the wakeup and irqsoff tracers ignore the functions that are
set by the set_graph_notrace like the function_graph tracer does. Move
the logic in the function_graph tracer into a header to allow wakeup and
irqsoff tracers to use it as well.

Cc: Namhyung Kim <namhyung.kim@lge.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace.h
kernel/trace/trace_functions_graph.c
kernel/trace/trace_irqsoff.c
kernel/trace/trace_sched_wakeup.c