Linux 6.3 Improvements Yield Better Chances Of Successfully Compiling The Kernel With ~32GB RAM

Sent in this morning for the Linux 6.3 merge window were the objtool improvements. Thanks to the work of Intel's Peter Zijlstra, the maximum memory usage has been reduced for objtool and should in turn provide faster kernel builds and less out-of-memory failures. The out-of-memory failures have been most pronounced when carrying out "big" kernel builds such as with allyesconfig or similar and then trying to build the final kernel image. Or similarly those with even less than 32GB of system RAM may have better success now in building various other large kernel configurations.
For an allyesconfig kernel build, the objtool patches should lead to its memory consumption dropping by about 6G and being faster than before. This objtool work was previously covered on Phoronix when the patches were originally volleyed and outlined in more detail at Linux objtool Improvements Help Reduce RAM Usage & Build Time During Large Kernel Builds.
The objtool patches for Linux 6.3 also shrink the "struct instruction" to further enhance the objtool performance and memory footprint. The Linux kernel objtool is run at compile-time to reverse-engineer the control flow graph of compiled objects for various validations/modifications/optimization purposes.
The full list of objtool changes for Linux 6.3 can be found via this pull request now awaiting action by Linus Torvalds ahead of the v6.3 merge window closing this weekend.
39 Comments