diff options
Diffstat (limited to 'kernel/trace/trace_functions_graph.c')
-rw-r--r-- | kernel/trace/trace_functions_graph.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index e876816fa8e7..d28687e7b3a7 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c | |||
@@ -57,9 +57,9 @@ static struct tracer_flags tracer_flags = { | |||
57 | 57 | ||
58 | /* Add a function return address to the trace stack on thread info.*/ | 58 | /* Add a function return address to the trace stack on thread info.*/ |
59 | int | 59 | int |
60 | ftrace_push_return_trace(unsigned long ret, unsigned long long time, | 60 | ftrace_push_return_trace(unsigned long ret, unsigned long func, int *depth) |
61 | unsigned long func, int *depth) | ||
62 | { | 61 | { |
62 | unsigned long long calltime; | ||
63 | int index; | 63 | int index; |
64 | 64 | ||
65 | if (!current->ret_stack) | 65 | if (!current->ret_stack) |
@@ -71,11 +71,13 @@ ftrace_push_return_trace(unsigned long ret, unsigned long long time, | |||
71 | return -EBUSY; | 71 | return -EBUSY; |
72 | } | 72 | } |
73 | 73 | ||
74 | calltime = trace_clock_local(); | ||
75 | |||
74 | index = ++current->curr_ret_stack; | 76 | index = ++current->curr_ret_stack; |
75 | barrier(); | 77 | barrier(); |
76 | current->ret_stack[index].ret = ret; | 78 | current->ret_stack[index].ret = ret; |
77 | current->ret_stack[index].func = func; | 79 | current->ret_stack[index].func = func; |
78 | current->ret_stack[index].calltime = time; | 80 | current->ret_stack[index].calltime = calltime; |
79 | *depth = index; | 81 | *depth = index; |
80 | 82 | ||
81 | return 0; | 83 | return 0; |