Skip to content

Commit

Permalink
Give up on pushing CC_OPTIMIZE_FOR_SIZE
Browse files Browse the repository at this point in the history
I still happen to believe that I$ miss costs are a major thing, but
sadly, -Os doesn't seem to be the solution.  With or without it, gcc
will miss some obvious code size improvements, and with it enabled gcc
will sometimes make choices that aren't good even with high I$ miss
ratios.

For example, with -Os, gcc on x86 will turn a 20-byte constant memcpy
into a "rep movsl".  While I sincerely hope that x86 CPU's will some day
do a good job at that, they certainly don't do it yet, and the cost is
higher than a L1 I$ miss would be.

Some day I hope we can re-enable this.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
torvalds committed May 22, 2011
1 parent 71a8638 commit 281dc5c
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion init/Kconfig
Expand Up @@ -908,7 +908,6 @@ endif

config CC_OPTIMIZE_FOR_SIZE
bool "Optimize for size"
default y
help
Enabling this option will pass "-Os" instead of "-O2" to gcc
resulting in a smaller kernel.
Expand Down

0 comments on commit 281dc5c

Please sign in to comment.