On Sunday 19 August 2012, Andi Kleen wrote: > > This rather large patchkit enables gcc Link Time Optimization (LTO) > support for the kernel. > > With LTO gcc will do whole program optimizations for > the whole kernel and each module. This increases compile time, > but can generate faster code. > > LTO allows gcc to inline functions between different files and > do various other optimization across the whole binary. This looks quite nice overall. Have you seen other disadvantages besides bugs and compile time? There are two possible issues that I can see happening: * Debuggability: When we get more aggressive optimizations, it often becomes harder to trace back object code to a specific source line, which may be a reason for distros not to enable it for their product kernels in the end because it can make the work of their support teams harder. * Stack consumption: If you do more inlining, the total stack usage of large functions can become higher than what the deepest path through the same code in the non-inlined version would be. This bites us more in the kernel than in user applications, which have much more stack space available. Have you noticed problems with either of these so far? Do you think they are realistic concerns or is the LTO implementation good enough that they would rarely become an issue? Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html