tracing: Fix the branch tracer that broke with buffer change
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Fri, 8 Mar 2013 15:40:07 +0000 (10:40 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 15 Mar 2013 04:35:54 +0000 (00:35 -0400)
The changce to add the trace_buffer struct to have the trace array
have both the main buffer and max buffer broke the branch tracer
because the change did not update that code. As the branch tracer
adds a significant amount of overhead, and must be selected via
a selection (not a allyesconfig) it was missed in testing.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_branch.c

index 6dadbefbb1d683204dc588bad6e6c4d137cbbc5e..d594da0dc03ce53db530e238df1d410c4b89e29a 100644 (file)
@@ -52,12 +52,12 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect)
 
        local_irq_save(flags);
        cpu = raw_smp_processor_id();
-       data = per_cpu_ptr(tr->data, cpu);
+       data = per_cpu_ptr(tr->trace_buffer.data, cpu);
        if (atomic_inc_return(&data->disabled) != 1)
                goto out;
 
        pc = preempt_count();
-       buffer = tr->buffer;
+       buffer = tr->trace_buffer.buffer;
        event = trace_buffer_lock_reserve(buffer, TRACE_BRANCH,
                                          sizeof(*entry), flags, pc);
        if (!event)