Re: smart gcc inliner...

From: Andi Kleen
Date: Tue Mar 27 2007 - 11:57:22 EST


Paweł Sikora <pluto@xxxxxxxx> writes:

> Hi,
>
> The recent gcc (3.4/4.x) optimizer inlines functions across
> sections which is definitely not we want, e.g. inlining
> functions from .init.text section.
>
> I think, the `__init' macro needs `noinline' attribute and all
> the `static inline __{dev}init' functions need `inline' attribute
> removal to avoid gcc error (inlining failed, function not inlinable).
>


init functions should only ever be called from other init functions.

So this should not happen. If it happens the annotations need to be fixed.

This is already warned for for modules at build time with pending
patches to do the same for vmlinux.

There are already a couple of patches pending for this and many
went into .21.

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