[ltt-dev] LTTng kernel integration roadmap, update

Mathieu Desnoyers mathieu.desnoyers at polymtl.ca
Mon Nov 24 07:20:55 EST 2008


* Christoph Hellwig (hch at infradead.org) wrote:
> On Mon, Nov 24, 2008 at 06:28:42AM -0500, Mathieu Desnoyers wrote:
> > - trimmed-down lttv for the kernel tree
> >   Need to look at
> >   git://git.kernel.org/pub/scm/linux/kernel/git/sam/test.git#master
> >   tests/ directory, which permits building userspace tools with the
> >   Linux kernel. I recently got the idea of populating debugfs with
> >   userspace tools that would sits in kernel module data. How (in)sane
> >   does this idea look ? That would seems like a rather good solution to
> >   ship the userspace tool with the kernel.
> 
> Completely insane I'd say.  Debugfs is per defintion populated from
> kernelspace, and adding another mixed user/kernel populated fs like
> devfs is a rather bad idea.  I don't quite see any point in shipping
> lttv with the kernel tree either, it shouldn't really need knowledge of
> the kernel version.
> 

The key idea behind this is to answer to Thomas Gleixner concerns, who
supports that a tracer should output data in text-format only so it can
be used with tools kernel developers have on their system, like "cat".

However, getting data out of the kernel efficiently simply cannot be
done with such approach. Therefore, LTTng needs its own userspace tools
to splice the data out of the kernel efficiently. Another tool is used
to pretty-print the binary data into text.

Then the problem becomes : we have to make the userspace tool easy
enough to deploy so even Linus can find and use it. ;)

But indeed, the trace buffers are versioned, so if the format changes
between kernel versions, the userspace tools will detect it and the user
will know it must update its tools. So it's not really a problem there.

The question that prevails is therefore : should we ship userspace
binary with the kernel tree at all ? And if yes, how should the resuting
executables be packaged and deployed ? Should it be installed in the
system along with kernel modules or should it be populated into a
filesystem populated by kernelspace ?

Or is it better to do as we have always done and keep the userspace
tools separated from the kernel tree ?

Mathieu

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68




More information about the lttng-dev mailing list