Linux 7.4开始合入Kbuild优化补丁 可缩短内核编译时间
Linux 7.4开发版已合入一批Kbuild优化改动,针对内核编译流程中的单线程瓶颈和重复工作提速。Kbuild是Linux内核的构建系统,负责组织配置、编译和链接等步骤;相关改动由Arm工程师、长期内核开发者Lorenzo Stoakes提出。

本轮已合入的优化包括减少内核映像中.modinfo段的分配开销,加速kallsyms符号表生成,在顺序无关时跳过nm输出排序,只在最终链接阶段生成所需重定位信息,以C语言重写mksysmap,并把部分编译器、链接器能力检测移入Kconfig阶段缓存结果。此外,系统若装有pigz,也会优先用它加快gzip压缩。上述调整分别减少中间数据处理、重复探测和串行步骤。
早期对整套补丁系列的测试显示,启用全部模块的构建约快36%,增量编译约快70%,无需实际重建的空操作构建则最多快约90%。Phoronix随后在双路AMD EPYC 9575F服务器、Ubuntu 26.04 LTS上测试v4整套补丁,干净的x86_64 defconfig内核构建从约22秒缩短至15至17秒,allmodconfig构建则减少30多秒。不过,这些数字测试的是整套补丁,Linux 7.4目前合入的只是其中一批改动,实际收益还需等更多补丁合入后再评测。
这项优化工作也借助了AI工具。Stoakes表示,他用大型语言模型协助定位构建瓶颈并探索改进方案,但模型生成的部分代码质量不佳;他亲自审查和重写了大量代码,并手动验证构建结果、运行内核及性能变化。

