Re: -Os versus -O2

From: david
Date: Sun Jun 24 2007 - 22:18:54 EST


On Mon, 25 Jun 2007, Adrian Bunk wrote:

On Sun, Jun 24, 2007 at 09:34:05PM -0400, Jeff Garzik wrote:
Adrian Bunk wrote:
The interesting questions are:
Does -Os still sometimes generate faster code with gcc 4.2?
If yes, why?

Smaller code can mean fewer page faults, fewer cache invalidations, etc.

It's not just a matter of compiler code generation, gotta look at the whole
picture.

the picture gets even murkier when you consider that even if neither option overflows the cpu cache the one that takes more space in the cache leaves less space in the cache for the userspacde code that the system is actually there to run.

Sure, but my point is that if the kernel is considered special and the
best optimization for the kernel is therefore between -Os and -O2, we
should try to find this point of best optimization.

This should address Arjans point that -Os might not be best choice for
best performance (and it's actually our fault if gcc generates stupid
but small code when we use -Os).

what can be done to find the horribly bad but small code among the "it's smaller and would be less efficiant if you didn't consider the cache" majority?

David Lang
-
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/