Warning: file_exists(): open_basedir restriction in effect. File(/srv/http/vhosts/aur.archlinux.org/public/web/locale//en/LC_MESSAGES/aurweb.mo) is not within the allowed path(s): (/srv/http/vhosts/aur-dev.archlinux.org/:/etc/aurweb/) in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/streams.php on line 90
AUR (en) - linux-ltofast-git

Notice: Undefined variable: name in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/pkgfuncs.inc.php on line 248

Package Details: linux-ltofast-git 4.0rc7.r93.g6842019-1

Git Clone URL: https://aur-dev.archlinux.org/linux-ltofast-git.git (read-only)
Package Base: linux-ltofast-git
Description: A non-portable Linux kernel with experimental compilation optimizations: LTO, -Ofast, -march=native, localyesconfig (git version)
Upstream URL: http://www.kernel.org
Keywords: kernel LTO Optimization
Licenses: GPL2
Conflicts: kernel26-ltofast-git
Provides: kernel26-ltofast-git=4.0rc7.r93.g6842019
Replaces: kernel26-ltofast-git
Submitter: WFCody
Maintainer: llde
Last Packager: WFCody
Votes: 1
Popularity: 0.000101
First Submitted: 2015-10-21 15:42
Last Updated: 2015-11-06 20:51

Latest Comments

WFCody commented on 2016-11-19 05:03

@Hi-Angel
The march=native option has been shown to give small but statistically significant improvements.
https://github.com/graysky2/kernel_gcc_patch
It does not make sense in a distribution kernel since it will tune the kernel to a single type of CPU. A reason it has not been included upstream is the fear that it might activate some unsafe optimizations by the kernel.
When it comes to optimization levels, this is more of an open question. It is not guaranteed that -O3 or -Ofast will be faster than the standard -O2 or -Os options.
https://www.phoronix.com/scan.php?page=article&item=gcc_47_optimizations&num=1
for this experimental package, this is not really an issue ;) This package is specifically designed to experiment on aggressive optimization tuned for a single machine. The whole point is that one could "flip switches" and see how the 3 different optimization options improve and potentially interact in order to make a fast-performing kernel.

WFCody commented on 2016-11-19 04:57

Dear llde. Great that you want to play with this :) The next branch of the LTO patches is the 4.4, so simply edit #branch=lto-4.0 to #branch=lto-4.4

I guess he follows the LTS releases, so the next branch will most likely be 4.9

I can unfortunately not edit this myself because I have switched from Arch to Alpine and I forgot to save my keys. I will add you as contributor so that you can take over the package.

Hi-Angel commented on 2016-11-13 18:38

Hmm… Does "mach=native" even makes sense to kernel? If I correctly remember, it actually hurts, because for using SSE and such, kernel is forced to save redundant registers for every interrupt, even if the code doesn't actually use them (most of the code).

And using -Ofast for a kernel, a thing that have to have precision in operations, doesn't seem to be a good idea.

WFCody commented on 2015-11-07 06:35

It builds and packages. My first attempt at booting stopped after loading initramfs. Perhaps I need to explicitly call init... Tips and tricks welcome!

It would be awesome if pleople knew some good kernel benchmarks. It is trivial to "flip some switches" in this PKGBUILD to investigate the influence of any of the optimizations. It would especially be interesting to see if there are synergies between -march=native, optimization level and LTO.