Re: [PATCH] prepare kconfig inline optimization for allarchitectures

From: Linus Torvalds
Date: Sun Apr 27 2008 - 13:07:30 EST




On Sun, 27 Apr 2008, Adrian Bunk wrote:
>
> My opinion on this is still:
> "OPTIMIZE" means "work around bugs in the kernel".

No.

It means that

- gcc used to (long ago) always honor "inline", and we had kernel code
that depended on that in various ways (ie required that there was no
return etc).

We've been mostly replacing the ones we know about with
"__always_inline", but there may be some that remain. We'll find out, I
guess.

- gcc was a total and utter piece of horrible crap in the inlining
department, doign insane things and changing their documentation to
match the new behaviour (and some people then claimed that it was
always documented that way).

It would not inline big functions even when they statically collapsed
to nothing, etc.

As a result, we really couldn't afford to let gcc make any inlining
decisions, because the compiler was simply *broken*.

Linus

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