diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-12-03 08:49:21 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-12-03 08:49:21 +0100 |
commit | f0461d0146ee30927bc7efa2ae24ea8c6693b725 (patch) | |
tree | 6a6b416c76c0e1a569af5531454fb45fe06e07ba /kernel/trace/ftrace.c | |
parent | function trace: fix a bug of single thread function trace (diff) | |
parent | tracing/function-graph-tracer: support for x86-64 (diff) | |
download | linux-f0461d0146ee30927bc7efa2ae24ea8c6693b725.tar.xz linux-f0461d0146ee30927bc7efa2ae24ea8c6693b725.zip |
Merge branches 'tracing/ftrace' and 'tracing/function-graph-tracer' into tracing/core
Diffstat (limited to 'kernel/trace/ftrace.c')
-rw-r--r-- | kernel/trace/ftrace.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 6d89ab46c6e3..2e78628443e8 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -1671,8 +1671,10 @@ static int alloc_retstack_tasklist(struct ftrace_ret_stack **ret_stack_list) } if (t->ret_stack == NULL) { - t->ret_stack = ret_stack_list[start++]; t->curr_ret_stack = -1; + /* Make sure IRQs see the -1 first: */ + barrier(); + t->ret_stack = ret_stack_list[start++]; atomic_set(&t->trace_overrun, 0); } } while_each_thread(g, t); |