[RFC PATCH 11/22 -v2] Reset the tracer when started

From: Steven Rostedt
Date: Wed Jan 09 2008 - 18:35:53 EST


This patch resets the trace when it is started by the user.

Signed-off-by: Steven Rostedt <srostedt@xxxxxxxxxx>
---
lib/tracing/tracer.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Index: linux-compile-i386.git/lib/tracing/tracer.c
===================================================================
--- linux-compile-i386.git.orig/lib/tracing/tracer.c 2008-01-09 14:14:02.000000000 -0500
+++ linux-compile-i386.git/lib/tracing/tracer.c 2008-01-09 15:17:36.000000000 -0500
@@ -78,6 +78,16 @@ static notrace void trace_function(const
raw_local_irq_restore(flags);
}

+static notrace void mctracer_reset(struct mctracer_trace *tr)
+{
+ int cpu;
+
+ for_each_online_cpu(cpu) {
+ tr->trace_idx[cpu] = 0;
+ atomic_set(&tr->underrun[cpu], 0);
+ }
+}
+
#ifdef CONFIG_DEBUG_FS
enum trace_iterator {
TRACE_ITER_SYM_ONLY = 1,
@@ -324,6 +334,10 @@ static ssize_t mctracer_ctrl_write(struc

val = !!simple_strtoul(buf, NULL, 10);

+ /* When starting a new trace, reset the buffers */
+ if (val)
+ mctracer_reset(tr);
+
if (tr->ctrl ^ val) {
if (val)
register_mcount_function(trace_function);

--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/