This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH] Linux Kernel Markers 0.5 for Linux 2.6.17 (with probe management)
- From: Mathieu Desnoyers <compudj at krystal dot dyndns dot org>
- To: Karim Yaghmour <karim at opersys dot com>
- Cc: Ingo Molnar <mingo at elte dot hu>, Martin Bligh <mbligh at google dot com>, "Frank Ch. Eigler" <fche at redhat dot com>, Masami Hiramatsu <masami dot hiramatsu dot pt at hitachi dot com>, prasanna at in dot ibm dot com, Andrew Morton <akpm at osdl dot org>, Paul Mundt <lethal at linux-sh dot org>, linux-kernel <linux-kernel at vger dot kernel dot org>, Jes Sorensen <jes at sgi dot com>, 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>, ltt-dev at shafik dot org, systemtap at sources dot redhat dot com, Alan Cox <alan at lxorguk dot ukuu dot org dot uk>
- Date: Fri, 22 Sep 2006 12:13:53 -0400
- Subject: Re: [PATCH] Linux Kernel Markers 0.5 for Linux 2.6.17 (with probe management)
- References: <20060921160009.GA30115@Krystal> <20060921160656.GA24774@elte.hu> <20060921214248.GA10097@Krystal> <20060922070714.GB4167@elte.hu> <20060922150810.GB20839@Krystal> <45140E33.9030509@opersys.com>
* Karim Yaghmour (karim@opersys.com) wrote:
> So if your proposal is to amend the markup to use the short-jmp+nops
> at every marker site instead of my earlier suggestion for the bprobes
> thing, I'm all with you.
>
First of all, I think that specific architecture-specific optimisations can and
should be integrated in a more generic portable framework.
Hrm, your comment makes me think of an interesting idea :
.align
jump_address:
near jump to end
setup_stack_address:
setup stack
call empty function
end:
So, instead of putting nops in the target area, we fill it with a useful
function call. Near jump being 2 bytes, it might be much easier to modify.
If necessary, making sure the instruction is aligned would help to change it
atomically. If we mark the jump address, the setup stack address and the end
tag address with symbols, we can easily calculate (portably) the offset of the
near jump to activate either the setup_stack_address or end tags.
Mathieu
OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68