Linux 6.18 Kbuild Brings An Optimization For gen_init_cpio On Btrfs Or XFS
([Linux Kernel] 3 Hours Ago
Kernel Build)
- Reference: 0001582269
- News link: https://www.phoronix.com/news/Linux-6.18-Kbuild
- Source link:
The Kbuild changes have been merged for the in-development [1]Linux 6.18 kernel.
The Kbuild pull for Linux 6.18 is [2]the first under new maintainership and brings a few changes worth calling out.
First up, the minimum supported LLVM/Clang compiler version to build the Linux kernel has been increased to LLVM 15.0. This is a reasonable new minimum version with LLVM/Clang 15 having come out in September 2022 and most using Clang to build the Linux kernel tend to be more on the leading-edge.
The Kbuild changes for the Linux 6.18 kernel also unify and consolidate all the CONFIG_WERROR / W=e handling for promoting compiler warnings to errors. Those options are also now respected when building the user-space programs living within the Linux kernel tree.
The Kbuild changes also include support for copy_file_range() and data segment alignment in gen_init_cpio for improving performance on file-systems with reflinks like Btrfs and XFS. The gen_init_cpio tool for building a CPIO archive for a root file-system image and will now enjoy better performance on the likes of Btrfs and XFS. [3]The patch explains:
"Add filename zero-padding logic to gen_init_cpio, which can be triggered via the new -a parameter. Performance and storage utilization is improved for Btrfs and XFS workloads, as copy_file_range can reflink the entire source file into a filesystem block-size aligned destination offset within the cpio archive."
More details on these Kbuild changes for Linux 6.18 via [4]this pull .
[1] https://www.phoronix.com/search/Linux+6.18
[2] https://www.phoronix.com/news/Linux-6.17-Kbuild
[3] https://lore.kernel.org/all/20250819032607.28727-8-ddiss@suse.de/
[4] https://lore.kernel.org/lkml/20250930041119.GA1936516@ax162/
The Kbuild pull for Linux 6.18 is [2]the first under new maintainership and brings a few changes worth calling out.
First up, the minimum supported LLVM/Clang compiler version to build the Linux kernel has been increased to LLVM 15.0. This is a reasonable new minimum version with LLVM/Clang 15 having come out in September 2022 and most using Clang to build the Linux kernel tend to be more on the leading-edge.
The Kbuild changes for the Linux 6.18 kernel also unify and consolidate all the CONFIG_WERROR / W=e handling for promoting compiler warnings to errors. Those options are also now respected when building the user-space programs living within the Linux kernel tree.
The Kbuild changes also include support for copy_file_range() and data segment alignment in gen_init_cpio for improving performance on file-systems with reflinks like Btrfs and XFS. The gen_init_cpio tool for building a CPIO archive for a root file-system image and will now enjoy better performance on the likes of Btrfs and XFS. [3]The patch explains:
"Add filename zero-padding logic to gen_init_cpio, which can be triggered via the new -a parameter. Performance and storage utilization is improved for Btrfs and XFS workloads, as copy_file_range can reflink the entire source file into a filesystem block-size aligned destination offset within the cpio archive."
More details on these Kbuild changes for Linux 6.18 via [4]this pull .
[1] https://www.phoronix.com/search/Linux+6.18
[2] https://www.phoronix.com/news/Linux-6.17-Kbuild
[3] https://lore.kernel.org/all/20250819032607.28727-8-ddiss@suse.de/
[4] https://lore.kernel.org/lkml/20250930041119.GA1936516@ax162/
phoronix