This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH 0/4] Linux Kernel Markers
- From: Richard J Moore <richardj_moore at uk dot ibm dot com>
- To: Mathieu Desnoyers <mathieu dot desnoyers at polymtl dot ca>
- Cc: Andrew Morton <akpm at osdl dot org>, Greg Kroah-Hartman <gregkh at suse dot de>, Christoph Hellwig <hch at infradead dot org>, linux-kernel at vger dot kernel dot org, ltt-dev at shafik dot org, "Martin J. Bligh" <mbligh at mbligh dot org>, Ingo Molnar <mingo at redhat dot com>, Douglas Niehaus <niehaus at eecs dot ku dot edu>, systemtap at sources dot redhat dot com, Thomas Gleixner <tglx at linutronix dot de>
- Date: Sat, 13 Jan 2007 01:33:29 +0000
- Subject: Re: [PATCH 0/4] Linux Kernel Markers
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote on 20/12/2006
23:52:16:
> Hi,
>
> You will find, in the following posts, the latest revision of the Linux
Kernel
> Markers. Due to the need some tracing projects (LTTng, SystemTAP) has of
this
> kind of mechanism, it could be nice to consider it for mainstream
inclusion.
>
> The following patches apply on 2.6.20-rc1-git7.
>
> Signed-off-by : Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Mathiue, FWIW I like this idea. A few years ago I implemented something
similar, but that had no explicit clients. Consequently I made my hooks
code more generalized than is needed in practice. I do remember that Karim
reworked the LTT instrumentation to use hooks and it worked fine.
You've got the same optimizations for x86 by modifying an instruction's
immediate operand and thus avoiding a d-cache hit. The only real caveat is
the need to avoid the unsynchronised cross modification erratum. Which
means that all processors will need to issue a serializing operation before
executing a Marker whose state is changed. How is that handled?
One additional thing we did, which might be useful at some future point,
was adding a /proc interface. We reflected the current instrumentation
though /proc and gave the status of each hook. We even talked about being
able to enable or disabled instrumentation by writing to /proc but I don't
think we ever implemented this.
It's high time we settled the issue of instrumentation. It gets my vote,
Good luck!
Richard
- -
Richard J Moore
IBM Linux Technology Centre