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 6dadbef..d594da0 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)