This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH] Linux Kernel Markers 0.2 for Linux 2.6.17
- From: fche at redhat dot com (Frank Ch. Eigler)
- To: Mathieu Desnoyers <mathieu dot desnoyers at polymtl dot ca>
- Cc: linux-kernel at vger dot kernel dot org, Christoph Hellwig <hch at infradead dot org>, Andrew Morton <akpm at osdl dot org>, Ingo Molnar <mingo at redhat dot com>, Greg Kroah-Hartman <gregkh at suse dot de>, Thomas Gleixner <tglx at linutronix dot de>, Douglas Niehaus <niehaus at eecs dot ku dot edu>, Tom Zanussi <zanussi at us dot ibm dot com>, Paul Mundt <lethal at linux-sh dot org>, Jes Sorensen <jes at sgi dot com>, Richard J Moore <richardj_moore at uk dot ibm dot com>, William Cohen <wcohen at redhat dot com>, "Martin J. Bligh" <mbligh at mbligh dot org>, Michel Dagenais <michel dot dagenais at polymtl dot ca>, systemtap at sources dot redhat dot com, ltt-dev at shafik dot org
- Date: 19 Sep 2006 15:23:18 -0400
- Subject: Re: [PATCH] Linux Kernel Markers 0.2 for Linux 2.6.17
- References: <20060919183447.GA16095@Krystal>
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> writes:
> Following some very interesting ideas from Martin that shows that
> even static function calls and inlined functions can be used in
> interesting ways with markers to deploy dynamic tracers with easy
> access to local function variables [...]
While that has been an interesting idea, its implementation would need
to be sketched out far beyond the speculative, in order to override
what I perceive as the rough consensus reached during earlier in the
thread.
> [...] These last emails convince me even more that a markup
> mechanism must interface with every kind of instrumentation hooking
> we can think about, both dynamic and static. [...]
If you don't allow yourself to presume on-the-fly function
recompilation, then these markers would need to be made run-time
rather than compile-time configurable. That is, not like this:
> +/* Menu configured markers */
> +#ifndef CONFIG_MARK
> +#define MARK MARK_INACTIVE
> +#elif defined(CONFIG_MARK_PRINT)
> +#define MARK MARK_PRINT
> +#elif defined(CONFIG_MARK_FPROBE)
> +#define MARK MARK_FPROBE
> +#elif defined(CONFIG_MARK_KPROBE)
> +#define MARK MARK_KPROBE
> +#elif defined(CONFIG_MARK_JPROBE)
> +#define MARK MARK_JPROBE
> +#endif
- FChE