1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Torvalds Is Unconvinced By LTO'ing A Linux Kernel

Linux Kernel

Published on 09 April 2014 12:02 AM EDT
Written by Michael Larabel in Linux Kernel
65 Comments

Yesterday patches were published via a pull request to enable experimental LTO support for the Linux 3.15 kernel, but Linus Torvalds hasn't yet decided whether he will accept this code in the upstream Linux kernel... Linus doesn't yet see the benefits in link-time optimizations for the kernel and isn't sure whether this code is ready yet to be mainlined.

LTO'ing the Linux kernel has the potential of reducing the size of the Linux kernel image along with generating a faster and more efficient binary. Link-time optimizations within GCC allow the whole program to be optimized at link-time stage across the entire binary. Previous results showed that an LTO'ed kernel could be over 10% smaller in size and a few percent faster by optimizing the kernel in this manner, but it currently results in much greater system memory usage and a much longer compilation process.

In responding to the Linux 3.15 LTO Kconfig pull request that would make it an experimental option for the next kernel release, Linus Torvalds wrote:
So right now, I see several reasons not to merge it ("It's so experimental that we don't even want to encourage people to test it" to "it's not fully fleshed out yet and makes compile times _much_ longer").

And yet nobody has actually talked about why I *should* merge it.

Which - I think understandably - makes me less than enthusiastic.

So I think I'll let this wait a bit longer, _unless_ people start talking about the upsides. How much smaller is the end result? How much faster is it? How much more beautiful is it? Does it make new cool things possible? Are those cool things really close on the horizon and really want this merged even though it's not really quite ready yet?

So please: convince me. Andi?

Linus
In response to Torvalds' concerns, among the responses back were that the LTO kernels are smaller in size, they reduce the need for many lower-level Kconfig symbols / reduce the number of CONFIG options needed since unused code can automatically be eliminated, etc. Numbers reported by Tim Bird saw an 11% binary reduction on ARM with the LTO configuration while other users can see upwards of a 30% reduction. There's also reports of an LTO kernel having about 4% less system calls. Benchmark results vary based upon workload but can range from no improvement to generally a couple of percent.

At the moment the matter of link-time optimization support for the Linux kernel is still being discussed with Linus not yet coming out with any revised thoughts whether he's willing to merge this experimental feature for Linux 3.15 or not.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux News
  1. Fedora 22 Is Being Released Next Tuesday
  2. OpenWRT 15.05 Preparing Improved Security & Better Networking
  3. Using The New LLVM/Clang OpenMP Support
  4. Zapcc Claims To Be A "Much Faster C++ Compiler"
  5. Godot 1.1 Engine Release Brings New 2D Engine
  6. Intel VA-API Driver 1.6 Is Coming
  7. Canonical Is Reportedly Considering An IPO
  8. GNOME 3.18 - GTK3 Now Supports RandR 1.5
  9. Fedora 22 Risks Being Delayed Beyond Next Week
  10. Systemd 220 Has Finally Been Released
  11. LibreOffice 5.0 Beta 1 Released
  12. Allwinner Publishes New CedarX Open-Source Code
Latest Articles & Reviews
  1. Btrfs RAID 0/1 Benchmarks On The Linux 4.1 Kernel
  2. The State Of Various Firefox Features
  3. Intel Iris Graphics Performance With Mesa 10.6
  4. Fedora Workstation 22 Is Looking Great, Running Fantastic
Most Viewed News This Week
  1. The Linux 4.0 Kernel Currently Has An EXT4 Corruption Issue
  2. AMDGPU Open-Source Driver Code Continues Maturing
  3. Oculus Rift Suspends Linux Development To Focus On Windows
  4. Microsoft Open-Sources The Windows Communication Foundation
  5. LibreOffice 5.0 Open-Source Office Suite Has Been Branched
  6. Another HTTPS Vulnerability Rattles The Internet
  7. Wayland / Weston 1.8 Release Candidate Arrives
  8. Linux 4.1-rc4 Kernel Arrives A Day Late