Re: [PATCH] tracing/ftrace: stop {irqs,preempt}soff tracers whentracing is stopped

From: Ingo Molnar
Date: Wed Mar 18 2009 - 05:00:28 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> On Tue, Mar 17, 2009 at 05:59:22PM -0400, Steven Rostedt wrote:
> >
> > On Tue, 17 Mar 2009, Frederic Weisbecker wrote:
> > > > > + /*
> > > > > + * Stop the tracer to avoid a warning subsequent
> > > > > + * to buffer flipping failure because tracing_stop()
> > > > > + * disables the tr and max buffers, making flipping impossible
> > > > > + * in case of parallels max preempt off latencies.
> > > > > + */
> > > > > + trace->stop(tr);
> > > > > /* stop the tracing. */
> > > > > tracing_stop();
> > > >
> > > > I'm actually thinking that tracing_stop() should call the current tracer
> > > > "stop" function.
> > > >
> > > > -- Steve
> > >
> > >
> > > Indeed, it could be better.
> > > But I think of a combination of stop() callback call plus
> > > ring buffer disabled because I'm not sure all tracers implement
> > > the stop callback.
> >
> > Yes, that's what I meant. The tracing_stop should do a few things, and one
> > of them is to call the stop function if it exists.
> >
> > >
> > > Should I send a v2 based on the above?
> >
> > Sure.
> >
> > -- Steve
>
>
> Ingo,
>
> I tested the call to the start/stop callbacks from tracing_start()
> and tracing_stop() but it's not possible for now: the sched_switch
> tracer register/unregister his tracepoints from these callbacks,
> thus allocate some memory. But tracing_start/stop can be called
> from atomic.
>
> I discussed about that with Steven on irc, and for now the v1
> should be applied as a temporary solution. We plan to simplify
> later the start/stop callbacks from each tracers that need it.

ok. Steve, could you please pick v1 up?

Ingo
--
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/