Re: [patch 1/4] Linux Kernel Markers - Architecture Independent Code

Mathieu Desnoyers
2007-10-25T19:17:36Z

* Roland McGrath (roland@redhat.com) wrote:
> > I think the main issue with the solution you propose is that it doesn't
> > deal with markers in modules, am I right ?
>
> My suggestion applies as well to modules as anything else.
> What "like Module.symvers" means is something like:
>
> name1 vmlinux %s
> name2 fs/nfs/nfs %d
>
> All the modules built by the same kernel build go into this one file.
>
> Modules packaged separately for the same kernel could provide additional
> files of the same kind.
>
> > I will soon come with a marker iterator and a module that provides a
> > userspace -and in kernel- interface to enable/disable markers. Actually,
> > I already have the code ready in my LTTng snapshots. I can provide a
> > link if you want to have a look.
>
> That's clearly straightforward to do given the basic markers data structures.
>
> It does not address the need for an offline list of markers available in a
> particular kernel build or set of modules that you are not running right now.
> The approach now available for that is grovelling through the markers data
> structures extracted from vmlinux and .ko ELF files offline. That is more
> work than one should have to do, and has lots of problems with coping with
> different packaging details, etc.
>

Since gcc is required to build the systemtap probes on the development
marchine, I don't see why it would be much harder to also require prople
to install drawf ? Or maybe the "crash" tool ?

I guess you must already need to extract the symbols for your kprobes.
Do you use kallsyms for this ? The way I see it, you could maybe extract
kallsyms symbols corresponding to the markers data structures quite
easily.

I would rather prefer not to implement superfluous built-time data
extraction in the kernel build system just to make userspace simpler. If
we can leverage what currently exists, that would be better.

Mathieu

>
> Thanks,
> Roland