Re: [PATCH 0/11] LTTng-core (basic tracing infrastructure) 0.5.108

Mathieu Desnoyers
2006-09-15T22:04:06Z

* Ingo Molnar (mingo@elte.hu) wrote:
>
> * Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:
>
> > * Ingo Molnar (mingo@elte.hu) wrote:
> > > sorry, but i disagree. There _is_ a solution that is superior in every
> > > aspect: kprobes + SystemTap. (or any other equivalent dynamic tracer)
> > >
> >
> > I am sorry to have to repeat myself, but this is not true for heavy
> > loads.
>
> djprobes?
>

I am fully aware of djprobes limitations towards fully preemptible kernel (and
around branches instructions ? I don't remember if they solved this one). Oh,
yes, and if a trap happen to come at the wrong spot, then the thread gets
scheduled out... well, it cannot be applied everywhere, eh ?

> > > > At this point you've been rather uncompromising [...]
> > >
> > > yes, i'm rather uncompromising when i sense attempts to push inferior
> > > concepts into the core kernel _when_ a better concept exists here and
> > > today. Especially if the concept being pushed adds more than 350
> > > tracepoints that expose something to user-space that amounts to a
> > > complex external API, which tracepoints we have little chance of ever
> > > getting rid of under a static tracing concept.
> > >
> > From an earlier email from Tim bird :
> >
> > "I still think that this is off-topic for the patch posted. I think
> > we should debate the implementation of tracepoints/markers when
> > someone posts a patch for some. I think it's rather scurrilous to
> > complain about code NOT submitted. Ingo has even mis-characterized
> > the not-submitted instrumentation patch, by saying it has 350
> > tracepoints when it has no such thing. I counted 58 for one
> > architecture (with only 8 being arch-specific)."
>
> i missed that (way too many mails in this thread).
>
> Here is how i counted them:
>
> $ grep "\<trace_.*(" * | wc -l
> 359
>

This count includes the inline trace functions definitions.

> some of those are not true tracepoints, but there's at least this many
> of them:
>
> $ grep "\<trace_.*(" *instrumentation* | wc -l
> 235
>

1 - This counts per architecture trace points. It quickly adds up considering
that we support ARM, MIPS, i386, powerpc, ppc and x86_64.
2 - It also counts some experimental trace points that I do not want to submit.
3 - Most of these are instrumentation of the traps handlers, which is
conceptually only one event.

> when judging kernel maintainance overhead, the sum of all patches
> matters. And i considered all the other patches too (the ones that add
> actual tracepoints) that will come after the currently offered ones, not
> just the ones you submitted to lkml.
>

I plan to rework the instrumentation patches before submitting them to LKML,
don't worry. I just hasn't been my focus until now. Too bad that you take those
as arguments.

Mathieu

OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68