diff options
| author | Ingo Molnar <mingo@kernel.org> | 2013-02-03 11:14:06 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2013-02-03 11:14:06 +0100 |
| commit | f7355a5e7c722452e2cd80d6b83acb2f4423c4a2 (patch) | |
| tree | 2ee172a5607de2baf25b8e9b99acd181a34676a6 /kernel/trace/trace_functions_graph.c | |
| parent | 9c4c5fd9e6207f04dbf59c5a9699fded144542e6 (diff) | |
| parent | d840f718d28715a9833c1a8f46c2493ff3fd219b (diff) | |
Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core
Pull tracing updated from Steve Rostedt.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/trace/trace_functions_graph.c')
| -rw-r--r-- | kernel/trace/trace_functions_graph.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index 7008d2e13cf..39ada66389c 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c @@ -191,10 +191,16 @@ unsigned long ftrace_return_to_handler(unsigned long frame_pointer) ftrace_pop_return_trace(&trace, &ret, frame_pointer); trace.rettime = trace_clock_local(); - ftrace_graph_return(&trace); barrier(); current->curr_ret_stack--; + /* + * The trace should run after decrementing the ret counter + * in case an interrupt were to come in. We don't want to + * lose the interrupt if max_depth is set. + */ + ftrace_graph_return(&trace); + if (unlikely(!ret)) { ftrace_graph_stop(); WARN_ON(1); |
