Re: [PATCH 2/2] jump label: disable due to compiler bug

From: Ingo Molnar
Date: Fri Oct 29 2010 - 09:10:54 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Fri, 2010-10-29 at 14:22 +0200, Ingo Molnar wrote:
> > * Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >
> > > On Fri, 2010-10-29 at 08:34 +0200, Ingo Molnar wrote:
>
> > > Do you mean to have it dependent on !EMBEDDED, or perhaps !CC_OPTIMIZE_FOR_SIZE ?
> >
> > CC_OPTIMIZE_FOR_SIZE dependency probably not. Might even leave out !EMBEDDED, to
> > make it generally configurable.
> >
> > Also, we should make it default off - we need to see whether there are any compiler
> > bugs lurking.
>
> Ah, so we should then add a:
>
> config JUMP_LABEL
> prompt "Optimize trace point call sites"
> depends on HAVE_ARCH_JUMP_LABEL
> help
> If it is detected that the compiler has support for
> "asm goto", the kernel will compile trace points locations
> with just a nop instruction. When trace points are enabled
> the nop will be converted to a jump to the trace function.
> This technique lowers overhead and stress on the branch
> prediction of the processor.
>
> On i386, the options added to make this work may increase
> the size of the kernel slightly.

Yeah.

> Then in the code have:
>
> -#if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_HAVE_ARCH_JUMP_LABEL)
> +#if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_HAVE_ARCH_JUMP_LABEL) \
> + && defined(JUMP_LABEL)
> # include <asm/jump_label.h>
> # define HAVE_JUMP_LABEL
> #endif
>
>
> If you agree, I can write up a patch.

Yeah. Thanks!

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/