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

Martin J. Bligh
2006-09-14T15:15:14Z

Ingo Molnar wrote:
> * Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:
>
>> Following an advice Christoph gave me this summer, submitting a
>> smaller, easier to review patch should make everybody happier. Here is
>> a stripped down version of LTTng : I removed everything that would
>> make the code review reluctant (especially kernel instrumentation and
>> kernel state dump module). I plan to release this "core" version every
>> few LTTng releases and post it to LKML.
>>
>> Comments and reviews are very welcome.
>
> i have one very fundamental question: why should we do this
> source-intrusive method of adding tracepoints instead of the dynamic,
> unintrusive (and thus zero-overhead) KProbes+SystemTap method?

Because:

1. Kprobes are more overhead when they *are* being used.
2. You can get zero overhead by CONFIG'ing things out.
3. (most importantly) it's a bitch to maintain tracepoints out
of-tree on a rapidly moving kernel
4. I believe kprobes still doesn't have full access to local variables.

Now (3) is possibly solvable by putting the points in as no-ops (either
insert a few nops or just a marker entry in the symbol table?), but full
dynamic just isn't sustainable. What would be really nice is one trace
infrastructure, that allowed both static and dynamic tracepoints without
all the awk-style language crap that seems to come with systemtap.

M.