Google Engineers Exploring Distributed ThinLTO Builds Of The Linux Kernel
([Google] 6 Hours Ago
Distributed ThinLTO)
- Reference: 0001541538
- News link: https://www.phoronix.com/news/Distributed-ThinkLTO-Linux-Kern
- Source link:
Engineers from Google are proposing that distributed ThinLTO build support be introduced for LLVM/Clang when compiling the Linux kernel. The distributed ThinLTO mode for link-time optimizations can lead to quicker build times than the current in-process ThinLTO mode while also being more convenient and work with kernel live-patching solutions.
Rong Xu and other engineers from Google are looking at distributed ThinLTO support for the Linux kernel with LLVM/Clang. As for the differences in the ThinLTO behavior for carrying out link-time optimizations:
In-process: Thin-link and ThinLTO BE compilation are invoked through the linker. The BE compilation is multi-threaded.
Distributed: Thin-link is through the linker. It generates ThinLTO index files. ThinLTO BE compilation is separated from linker and the build system / makefile invokes it explicitly with ThinLTO index files and pre-link IR objects.
Besides jiving more nicely with kernel live-patching and being more convenient, the distributed ThinLTO compilation of the Linux kernel with LLVM Clang 20 is much faster than using the existing in-process ThinLTO configuration:
Those curious about this proposal for distributed ThinLTO support of the Linux kernel can find it via the [1]LLVM Discourse .
[1] https://discourse.llvm.org/t/rfc-distributed-thinlto-build-for-kernel/85934
Rong Xu and other engineers from Google are looking at distributed ThinLTO support for the Linux kernel with LLVM/Clang. As for the differences in the ThinLTO behavior for carrying out link-time optimizations:
In-process: Thin-link and ThinLTO BE compilation are invoked through the linker. The BE compilation is multi-threaded.
Distributed: Thin-link is through the linker. It generates ThinLTO index files. ThinLTO BE compilation is separated from linker and the build system / makefile invokes it explicitly with ThinLTO index files and pre-link IR objects.
Besides jiving more nicely with kernel live-patching and being more convenient, the distributed ThinLTO compilation of the Linux kernel with LLVM Clang 20 is much faster than using the existing in-process ThinLTO configuration:
Those curious about this proposal for distributed ThinLTO support of the Linux kernel can find it via the [1]LLVM Discourse .
[1] https://discourse.llvm.org/t/rfc-distributed-thinlto-build-for-kernel/85934
mrg666