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

From: Frederic Weisbecker
Date: Tue Mar 17 2009 - 18:55:21 EST


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.

Thanks.

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