Commit 5f8bf2d2 authored by Steven Rostedt (Red Hat)'s avatar Steven Rostedt (Red Hat) Committed by Steven Rostedt

tracing: Fix graph tracer with stack tracer on other archs

Running my ftrace tests on PowerPC, it failed the test that checks
if function_graph tracer is affected by the stack tracer. It was.
Looking into this, I found that the update_function_graph_func()
must be called even if the trampoline function is not changed.
This is because archs like PowerPC do not support ftrace_ops being
passed by assembly and instead uses a helper function (what the
trampoline function points to). Since this function is not changed
even when multiple ftrace_ops are added to the code, the test that
falls out before calling update_function_graph_func() will miss that
the update must still be done.

Call update_function_graph_function() for all calls to
update_ftrace_function()

Cc: stable@vger.kernel.org # 3.3+
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 8abfb872
...@@ -265,12 +265,12 @@ static void update_ftrace_function(void) ...@@ -265,12 +265,12 @@ static void update_ftrace_function(void)
func = ftrace_ops_list_func; func = ftrace_ops_list_func;
} }
update_function_graph_func();
/* If there's no change, then do nothing more here */ /* If there's no change, then do nothing more here */
if (ftrace_trace_function == func) if (ftrace_trace_function == func)
return; return;
update_function_graph_func();
/* /*
* If we are using the list function, it doesn't care * If we are using the list function, it doesn't care
* about the function_trace_ops. * about the function_trace_ops.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment