lkml.org 
[lkml]   [2010]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/2] jump label: disable due to compiler bug
From
Date
On Fri, 2010-10-29 at 14:22 +0200, Ingo Molnar wrote:
> * Steven Rostedt <rostedt@goodmis.org> 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.


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.

-- Steve

>
> > I can see people making a big stink about adding back a gcc option that makes the
> > kernel bigger.
>
> Depends on exactly how much .text we are talking about here. Plus it would be
> default-off.
>
> Thanks,
>
> Ingo




\
 
 \ /
  Last update: 2010-10-29 15:11    [W:0.285 / U:0.268 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site