This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: tracepoint maintainance models
- From: "Frank Ch. Eigler" <fche at redhat dot com>
- To: Steven Rostedt <rostedt at goodmis dot org>
- Cc: Vara Prasad <prasadav at us dot ibm dot com>, Alan Cox <alan at lxorguk dot ukuu dot org dot uk>, "Frank Ch. Eigler" <fche at redhat dot com>, Ingo Molnar <mingo at elte dot hu>, Paul Mundt <lethal at linux-sh dot org>, Mathieu Desnoyers <mathieu dot desnoyers at polymtl dot ca>, linux-kernel <linux-kernel at vger dot kernel dot org>, Jes Sorensen <jes at sgi dot com>, Andrew Morton <akpm at osdl dot org>, Tom Zanussi <zanussi at us dot ibm dot com>, Richard J Moore <richardj_moore at uk dot ibm dot com>, Michel Dagenais <michel dot dagenais at polymtl dot ca>, Christoph Hellwig <hch at infradead dot org>, Greg Kroah-Hartman <gregkh at suse dot de>, Thomas Gleixner <tglx at linutronix dot de>, William Cohen <wcohen at redhat dot com>, "Martin J. Bligh" <mbligh at mbligh dot org>, systemtap <systemtap at sourceware dot org>
- Date: Fri, 6 Oct 2006 09:01:56 -0400
- Subject: Re: tracepoint maintainance models
- References: <20060918150231.GA8197@elte.hu> <1158594491.6069.125.camel@localhost.localdomain> <20060918152230.GA12631@elte.hu> <1158596341.6069.130.camel@localhost.localdomain> <20060918161526.GL3951@redhat.com> <1158598927.6069.141.camel@localhost.localdomain> <450EEF2E.3090302@us.ibm.com> <1158608981.6069.167.camel@localhost.localdomain> <450F0180.1040606@us.ibm.com> <1160112791.30146.12.camel@localhost.localdomain>
Hi -
On Fri, Oct 06, 2006 at 01:33:11AM -0400, Steven Rostedt wrote:
> Coming into this really late, and I'm still behind in reading this and
> related threads, but I want to throw this idea out, and it's getting
> late.
> [...]
> #define MARK(label, var) \
> asm ("debug_" #label ":\n" \
> ".section .data\n" \
> #label "_" #var ": xor %0,%0\n" \
> ".previous" : : "r"(var))
> [...]
> $ gcc -O2 -o mark mark.c
> $ ./mark
> func y is in reg B at 0x80483ce
> [...]
Clever.
> Now the question is, isn't MARK() in this code a non intrusive marker?
Not quite. The assembly code forces gcc to materialize the data that
it might already have inlined, and to borrow a register for the
duration. It's still a neat idea though.
- FChE