x86, ftrace, hw-branch-tracer: reset trace buffer on close
authorMarkus Metzger <markus.t.metzger@intel.com>
Mon, 19 Jan 2009 09:33:31 +0000 (10:33 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 20 Jan 2009 12:03:55 +0000 (13:03 +0100)
Reset the ftrace buffer on close. Since we use cyclic buffers, the
trace is not contiguous, anyway.

Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace_hw_branches.c

index e56df2c7d679d80cd84670a79a842bd0208d4953..372b47ac315452494637255676c0d71fbe1e2c32 100644 (file)
@@ -274,6 +274,11 @@ static void trace_bts_prepare(struct trace_iterator *iter)
        mutex_unlock(&bts_tracer_mutex);
 }
 
+static void trace_bts_close(struct trace_iterator *iter)
+{
+       tracing_reset_online_cpus(iter->tr);
+}
+
 void trace_hw_branch_oops(void)
 {
        mutex_lock(&bts_tracer_mutex);
@@ -292,7 +297,8 @@ struct tracer bts_tracer __read_mostly =
        .print_line     = bts_trace_print_line,
        .start          = bts_trace_start,
        .stop           = bts_trace_stop,
-       .open           = trace_bts_prepare
+       .open           = trace_bts_prepare,
+       .close          = trace_bts_close
 };
 
 __init static int init_bts_trace(void)