Re: LTTng finds abnormally long APIC interrupt handler : 58.2 ms

From: Mathieu Desnoyers
Date: Thu Aug 07 2008 - 14:24:39 EST


* Frank Ch. Eigler (fche@xxxxxxxxxx) wrote:
>
> Steven Rostedt <rostedt@xxxxxxxxxxx> writes:
>
> > [...]
> >> It all holds in a small module. Having the ability to connect any marker
> >> on any generic probe from the lttng marker interface has been very
> >> useful to do all this. Actually, this module has to be built into the
> >> kernel because ftrace does not permit breeing the trace_ops data
> >> structure. :/
> >
> > I did this purposely. The reason is that there is no safe way to release
> > the trace_ops, because you never know if something is in the function
> > you pointed to. If you remove the module after that, it crashes.
> >
> > I've been thinking of exporting it, and make it so that once you
> > register something to the trace_ops, I'll up the module count, and never
> > let that module unload.
>
> This issue will need some sort of resolution if systemtap is to be
> able to hook up to ftrace. Perhaps we could have a second/nested API
> that suffers the costs of explicit reference counting, but does permit
> dynamic attach and robust detach.
>

Creating a wrapper which would disable preemption before calling the
callback would make teardown possible.
Unregistration/synchronize_sched() and then module free would be ok.
That's what I do with markers and tracepoints.

The wrapper itself can never be unloaded, but the connected probes can.

Mathieu

>
> - FChE

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
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/