[ltt-dev] LTTng finds abnormally long APIC interrupt handler : 58.2 ms

Mathieu Desnoyers mathieu.desnoyers at polymtl.ca
Thu Aug 7 14:24:24 EDT 2008


* Frank Ch. Eigler (fche at redhat.com) wrote:
> 
> Steven Rostedt <rostedt at goodmis.org> 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




More information about the lttng-dev mailing list