Re: [PATCH] lto: Add __noreorder and mark initcalls __noreorder

From: Andi Kleen
Date: Fri Apr 10 2015 - 19:02:45 EST

On Fri, Apr 10, 2015 at 02:36:29PM -0700, Andrew Morton wrote:
> On Thu, 9 Apr 2015 01:50:23 +0200 Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> > > Head is spinning a bit. As this all appears to be shiny new
> > > added-by-andi gcc functionality, it would be useful if we could have a
> > > few more words describing what it's all about. Reordering of what with
> > > respect to what and why and why is it bad. Why is gcc reordering
> > > things anyway, and what's the downside of preventing this. Why is the
> > > compiler reordering things rather than the linker. etc etc etc.
> >
> > Ok, let me try.
> That was super-useful, thanks. I slurped it into the changelog -
> maybe one day it will provide material for Documentation/lto-stuff.txt.
> Big picture: do you have a feeling for how much benefit LTO will yield
> in the kernel, if/when it's all completed?

At least nothing of the stuff I usually run seems to be very kernel compiler
dependent in performance. I think other people may benefit from it.
Just looking at the code it is often a lot better.

We've had great results in code size reduction for small systems though.
I also found a range of bugs in the kernel which is good.

The merge is also nearly finished, only a smaller number of patches
left. There are some future technologies which could benefit from it

There is still some compile time penalty, although it got a lot better
with 5. I wouldn't expect developers to use it day-to-day, but it can
be a good release mode.

I think it's a good thing to have now, just for the benefits for
shrinking kernels.


ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at