Re: [RFC patch 00/41] LTTng 0.105 core for Linux 2.6.27-rc9

Ingo Molnar
2009-03-11T18:34:20Z

* Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:

> > Let me give you a few examples of existing areas of overlap:
> >
> > > The corresponding git tree contains also the trace clock
> > > patches and the lttng instrumentation. The trace clock is
> > > required to use the tracer, but it can be used without the
> > > instrumentation : there is already a kprobes and userspace
> > > event support included in this patchset.
> >
> > The latest tracing tree includes
> > kernel/tracing/trace_clock.c which offers three trace clock
> > variants, with different performance/precision tradeoffs:
> >
> > trace_clock_local() [ for pure CPU-local tracers with no idle
> > events. This is the fastest but least
> > coherent tracing clock. ]
> >
> > trace_clock() [ intermediate, scalable clock with
> > usable but imprecise global coherency. ]
> >
> > trace_clock_global() [ globally serialized, coherent clock.
> > It is the slowest but most accurate variant. ]
> >
> > Tracing plugins can pick their choice. (This is relatively new
> > code but you get the idea.)
> >
>
> Hehe this reminds me of the trace clock thread I started a few
> months ago on LKML. So you guys took over that work ? Nice :)
> Is it based on the trace-clock patches I proposed back then ?
> Ah, no. Well I guess we'll have to discuss this too. I agree
> on the trace_clock_local/trace_clock/trace_clock_global
> interface, it looks nice. The underlying implementation will
> have to be discussed though.

Beware: i found the assembly trace_clock() stuff you did back
then rather ugly ;-) I dont think there's any easy solutions
here, so i went for this palette of clocks.

> > This approach works for all your other patches as well. A
> > direct, constructive comparison and active work on unifying
> > them is required.
>
> Yes, let's try to do it. Maybe it's better to start a new
> thread with less CCs for this type of work ?

Yeah. More finegrained steps are really needed.

The least controversial bits would be the many tracepoints you
identified in LTTng as interesting. Mind sending them separately
so that we can make some progress?

In the latest tracing code all tracepoints will show up
automatically under /debug/tracing/events/ and can be used by
user-space tools.

Ingo