public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Kernel GCC Optimizations
@ 2002-12-21 17:35 Ro0tSiEgE
  2002-12-21 18:08 ` axel
  2002-12-21 18:11 ` John Bradford
  0 siblings, 2 replies; 12+ messages in thread
From: Ro0tSiEgE @ 2002-12-21 17:35 UTC (permalink / raw)
  To: linux-kernel

Is there any risk using -O3 instead of -O2 to compile the kernel, and why?
 Also what about compiling against glibc 2.3.1 and gcc 3.2.x??
Thanks!

--Ro0tSiEgE

^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: Kernel GCC Optimizations
@ 2002-12-22 13:23 Joao Seabra
  2002-12-25  6:16 ` Adam Majer
  0 siblings, 1 reply; 12+ messages in thread
From: Joao Seabra @ 2002-12-22 13:23 UTC (permalink / raw)
  To: linux-kernel

On Sat, 21 Dec 2002, Zack Weinberg wrote:

>
> > > So, let's make it -O6 per default for 2.7.x/3.1.x?
> >
> > A higher -O setting does not necessarily mean better performance -
> > loop unrolling is one compiler optimisation that I *think* is
> > performed by GCC at high -O settings, and that *often* causes code to
> > be slower.
>
> In all official releases of GCC, -Ox, x >= 4, has exactly the same
> effect as -O3.  This is unlikely to change anytime soon.
>
> -O3 enables exactly two optimizations relative to -O2:
> -finline-functions and -frename-registers.  This may or may not change
> in the future.  It does *not* enable loop unrolling. -finline-functions
> is almost always a major performance loss, because it makes the code
> huge and blows out the I-cache.  I'm not familiar with the performance
> effects of -frename-registers; it might be worth experimenting with
> just that switch.
>


 Why do I see all the time using >O3 when in the gcc man/docs they say the
max Ox is 3 and above that it is assumed that is O3?
 -finline-functions makes a difference in C++ 8) but the number of inline
functions can be defined with finline-limit.Could you be more specific
about the major performance loss?

 Rename registers from the gcc 3.2 man:
"Attempt to avoid false dependencies in scheduled code by making
          use of registers left over after register allocation. This
          optimization will most benefit processors with lots of
          registers. It can, however, make debugging impossible, since
          variables will no longer stay in a "home register"."

 Making debugging impossible could be a problem in the kernel apart from
the performance :)

 Best Regards,

 Joao Seabra



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2002-12-25  6:09 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-21 17:35 Kernel GCC Optimizations Ro0tSiEgE
2002-12-21 18:08 ` axel
2002-12-21 22:13   ` folkert
2002-12-21 18:11 ` John Bradford
2002-12-21 22:10   ` folkert
2002-12-21 22:44     ` John Bradford
2002-12-22  7:57       ` Zack Weinberg
2002-12-22  1:20     ` scott thomason
2002-12-22  1:26       ` Arnaldo Carvalho de Melo
2002-12-22  1:26     ` Robert Love
  -- strict thread matches above, loose matches on Subject: below --
2002-12-22 13:23 Joao Seabra
2002-12-25  6:16 ` Adam Majer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox