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: Ingo Molnar <mingo at elte dot hu>
- To: "Frank Ch. Eigler" <fche at redhat dot com>
- Cc: Mathieu Desnoyers <compudj at krystal dot dyndns dot org>, Martin Bligh <mbligh at google 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>, Mathieu Desnoyers <mathieu dot desnoyers at polymtl dot ca>, 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: Thu, 21 Sep 2006 20:50:29 +0200
- Subject: Re: [PATCH] Linux Kernel Markers 0.5 for Linux 2.6.17 (with probe management)
- References: <20060921160009.GA30115@Krystal> <20060921175648.GB22226@redhat.com>
* Frank Ch. Eigler <fche@redhat.com> wrote:
> > +#define MARK_SYM(name) \
> > + here: asm volatile \
> > + (MARK_KPROBE_PREFIX#name " = %0" : : "m" (*&&here)); \
>
> Regarding MARK_SYM, if I read Ingo's message correctly, this is the
> only type of marker he believes is necessary, since it would put a
> place for kprobes to put a breakpoint. FWIW, this still appears to be
> applicable only if the int3 overheads are tolerable, and if parameter
> data extraction is unnecessary or sufficiently robust "by accident".
let me qualify that: parameters must be prepared there too - but no
actual function call inserted. (at most a NOP inserted). The register
filling doesnt even have to be function-calling-convention compliant -
that makes the symbolic probe almost zero-impact to register
allocation/scheduling, the only thing it should ensure is that the
parameters that are annotated to be available in register, stack or
memory _somewhere_. (i.e. not hidden or destroyed at that point by gcc)
Does a simple asm() that takes read-only parameters but only adds a NOP
achieve this result?
Ingo