This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH] Linux Kernel Markers 0.8 for 2.6.17 (with near jump for i386)
- From: Karim Yaghmour <karim at opersys dot com>
- To: Mathieu Desnoyers <mathieu dot desnoyers at polymtl dot ca>
- Cc: 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>, Ingo Molnar <mingo at elte dot hu>, 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>, Jeremy Fitzhardinge <jeremy at goop dot org>
- Date: Sat, 23 Sep 2006 15:57:32 -0400
- Subject: Re: [PATCH] Linux Kernel Markers 0.8 for 2.6.17 (with near jump for i386)
- Organization: Opersys inc.
- References: <20060922214239.GA28625@Krystal>
- Reply-to: karim at opersys dot com
Mathieu Desnoyers wrote:
> --- a/arch/i386/Kconfig
> +++ b/arch/i386/Kconfig
> @@ -1082,6 +1082,8 @@ config KPROBES
> for kernel debugging, non-intrusive instrumentation and testing.
> If in doubt, say "N".
>
> +source "kernel/Kconfig.marker"
> +
> source "ltt/Kconfig"
diffing against an LTT tree ...
> --- /dev/null
> +++ b/include/asm-alpha/marker.h
...
> --- /dev/null
> +++ b/include/asm-arm/marker.h
...
> --- /dev/null
> +++ b/include/asm-arm26/marker.h
...
...
Not sure about the need for asm-foo/marker.h if the file contains no
code at all. If there's going to be one marker.h per arch, it might
as well have a purpose. So instead of:
> --- /dev/null
> +++ b/include/asm-i386/marker.h
...
> +#define ARCH_HAS_MARK_NEAR_JUMP
and
> --- /dev/null
> +++ b/include/linux/marker.h
...
> +#ifndef ARCH_HAS_MARK_NEAR_JUMP
...
Why not just have asm-foo/marker.h either implement the optimization
or point to an asm-generic/marker.h which contains the non-optimized
code. No #ifndefs needed.
> --- /dev/null
> +++ b/kernel/Kconfig.marker
...
> +config MARK_SYMBOL
...
> +config MARK_JUMP_CALL
...
> +config MARK_JUMP
...
My understanding of Ingo's input is that he'd rather not have this
multiple options. Either the markers are active or they aren't.
So ...
MARK_ACTIVE ... speaks for itself, enables both the markers and
the set/disable infrastructure. Markers are enabled in their
optimized per-architecture implementation.
MARK_FORCE_DIRECT_CALL ... forces all markers to be non-optimized
(good for embedded systems where the image is in rom/flash and
can therefore not have runtime binary modifications.) Maybe this
should depend on CONFIG_EMBEDDED.
Karim
--
President / Opersys Inc.
Embedded Linux Training and Expertise
www.opersys.com / 1.866.677.4546