1 月 2 日,长期从事 Linux 内核开发的 Ingo Molnar 发布了一组大规模的补丁,用来重塑 Linux 内核的头文件层次结构和依赖关系,补丁数量多达 2297 个。这项工作的目标是加快 Linux 内核的构建时间,同时清理一些东西,以解决"依赖性地狱"问题。
去年,Linux 的源代码达到了2780 万行,代码行数量惊人,而且未来还会继续增长。Ingo Molnar 认为,如果 Linux 源代码更轻,该平台可以变得更快、更高效。为了实现这一目标,Ingo Molnar 宣布了“Fast Kernel Headers”项目,试图清理和改造 Linux 内核的头文件层次结构和头文件依赖项。
Linux 大约包含 10,000 个带有 include/ 和 arch/*/include 层次结构的主 .h 头文件。Molnar 说,多年来,这些已经“成长为一组复杂而痛苦的交叉依赖,我们称之为‘依赖地狱’。”那么,清理 Linux 内核意味着什么?Molanr 认为可能需要对代码进行 2,200 次提交更改。另外,事实也证明清理代码比他最初想象的要麻烦和缓慢得多,毕竟 Linux 的年龄已经到了 30 岁了。
目前,Molnar 已经取得了一些成果,在启用了“Fast Kernel Headers”的内核中,每小时的内核构建量可能比目前的原始内核多 78%。这个庞大的补丁系列已经在 x86/x86_64、SPARC、MIPS 和 ARM64 上进行了测试。在支持的架构上,内核构建性能有可能提高 50-80%。
Molnar 表示“除了 25 个子树和 2,200 个提交之外,fast-headers 树修改了现有的内核源文件的一半以上。”这个工作已经修改了 25288 个文件,插入 178024 个文件,删除 74720 个文件。换句话说,“是的,这可能是有史以来最大的单一功能发布”,这些变化几乎会影响 Linux 内核中的每个程序。目前该项目以"征求意见"的方式发出。
更多细节: https://lore.kernel.org/lkml/YdIfz+LMewetSaEB@gmail.com/T/#u
评论