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

From: Jose R. Santos
Date: Fri Sep 15 2006 - 13:14:32 EST


Mathieu Desnoyers wrote:
* Ingo Molnar (mingo@xxxxxxx) wrote:
> > * Roman Zippel <zippel@xxxxxxxxxxxxxx> wrote:
> > the key point is that we want _zero_ "static tracepoints". Firstly, > static tracepoints are fundamentally limited:
> > - they can only be added at the source code level
> > - modifying them requires a reboot which is not practical in a > production environment

Not for kernel modules : unload/load is enough.

This assumes that the module can be unloaded in the first place. Inserting a new probe on the disk controler for your boot drive or in the filesystem module would still require a reboot.

If the trace points are modified with the code by the ones who make the
original code changes, it lessens the maintainance overhead. Furthermore, if
there is a major change in a code path that requires rethinking the trace
points, the person introducing the change has the best knowledge of what to do
with the trace point. I think that trace point maintainance should be left to
subsystem maintainers, not a centralised task done by distributions once in a
while.

I agree with you here, I think is silly to claim dynamic instrumentation as a fix for the "constant maintainace overhead" of static trace point. Working on LKET, one of the biggest burdens that we've had is mantainig the probe points when something in the kernel changes enough to cause a breakage of the dynamic instrumentation. The solution to this is having the SystemTap tapsets maintained by the subsystems maintainers so that changes in the code can be applied to the dynamic instrumentation as well. This of course means that the subsystem maintainer would need to maintain two pieces of code instead of one. There are a lot of advantages to dynamic vs static instrumentation, but I don't think maintainace overhead is one of them.

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