Re: [PATCH 1/2] function-graph: disable when both x86_32 andoptimize for size are configured

From: Ingo Molnar
Date: Sun Jun 21 2009 - 06:45:41 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Sat, 20 Jun 2009, Ingo Molnar wrote:
>
> >
> > * Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >
> > > diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
> > > index 4a13e5a..1eac852 100644
> > > --- a/kernel/trace/Kconfig
> > > +++ b/kernel/trace/Kconfig
> > > @@ -121,6 +121,7 @@ config FUNCTION_GRAPH_TRACER
> > > bool "Kernel Function Graph Tracer"
> > > depends on HAVE_FUNCTION_GRAPH_TRACER
> > > depends on FUNCTION_TRACER
> > > + depends on !X86_32 || !CC_OPTIMIZE_FOR_SIZE
> > > default y
> >
> > Hm, nice fix, but this is a quite nasty constraint - distros like to
> > enable CC_OPTIMIZE_FOR_SIZE as it neatly trims the kernel's size by
> > about 30%.
> >
> > Just in case you have not checked yet: is there no way to turn off
> > the specific gcc optimization that causes this? Or is it -Os itself
> > that does this optimization?
>
> It seems to me that -Os causes it for i386. I did a make V=1 to
> capture how the files in question were being compiled, and tried
> various disabling of flags. -Os was the only one to make a
> difference. :-(

oh well. I think GCC should be fixed/improved to not do this
particular (rather narrow looking) optimization if -pg is specified
too.

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/