巨大补丁集可缩短 Linux 内核构建时间和解决依赖地狱,linux将超越windows?


资深 Linux 内核维护者 Ingo Molnar 近日在邮件列表介绍了一个包含 2297 个补丁的巨大补丁集,旨在提升 Linux 构建速度和解决依赖地狱问题。

Ingo Molnar 将此补丁集命名为「Fast Kernel Headers」,并表示自己从 2020 年底就启动了这个项目,这是对 Linux 内核的头文件层次结构和头文件依赖项的全面改造,具有双重目标:

  • 加速 Linux 内核构建(包括完全构建和增量构建)
  • 将子系统类型 (subsystem type) 和 API 定义相互解耦

在 Linux 内核邮件列表中,Ingo Molnar 介绍了「Fast Kernel Headers」的诞生背景:“大多数内核开发者应该都知道,Linux 内核有大约 1 万个 main.h 头文件,它们位于 include/ 和 arch/*/include/ 这样的层次结构中。过去的 30 多年里,这些头文件已经发展成为复杂而痛苦的交叉依赖,社区称之为“依赖地狱”。”

根据 Ingo 提供的数据,与当前内核相比,启用"Fast Kernel Headers"补丁的内核构建每小时可有 78% 的改进。在所支持的架构上,完全的内核构建性能可提升 50~80%。

这个巨大的补丁集将许多高级头文件与其他文件解耦、取消了不必要的函数、将类型和 API 头文件解耦、自动处理头文件依赖,以及其他各种变化。到目前为止,它已经在 x86/x86_64、SPARC、MIPS 和 ARM64 架构上进行了测试。

「Fast Kernel Headers」可能是有史以来代码规模最大的一个 Linux 内核功能,并且能显著改进内核构建时间,所以不少开发者希望这个补丁集能够在不远的将来以某种方式进行审查后,顺利进入主线内核。


相關推薦

2024-09-21

建了小团队,将之前的原型开发整合成一个单一的树外补丁集。 正是从那时起,许多公司开始使用这个补丁集来构建需要毫秒级精度的强实时工业系统。 2015 年,Linux 基金会创建 Real-Time Linux (RTL) 协作项目,以协调将 PREEMPT_RT

2022-05-18

在开源社区的创始人 Thomas Gleixner。Linutronix 是 PREEMPT_RT 补丁集的 architect。该补丁集允许 Linux 内核优先处理实时应用程序,但由于缺乏开发人员和资金投入已经被搁置了约 20 年;英特尔的加入则将帮助推动其在 Linux 内核的发展

2022-10-28

失败和兼容性问题等种种原因,过了整整一年,该 Zstd 补丁集仍未合并到内核中, 内核的 Zstd 仍停留在 1.4.x 版本。 如今这项工作终于有起色,10 月 24 日,Nick Terrell 发出了最新补丁集,将 Linux 内核的 Zstd 更新到最新的 1.5.2 版

2023-01-13

核主线。去年英特尔收购 Linutronix 后成为 PREEMPT_RT 补丁集背后的开发商,而 Ubuntu 实时内核的打包工作正是与英特尔合作完成的——毕竟两者存在共同利益,可确保构建在英特尔平台上运行良好。 与此同时,上游 RT 补丁系

2023-01-08

入 Linux 内核。目前他共发送了 46 个处于 RFC 后状态的补丁集以供审核。 Linux 内存管理采用“分页机制”, 当运行内存需求量较大时,太大的(4K/2M/1G)  大小的页面会导致较多的 TLB miss 和缺页中断,从而大大影响应用

2023-09-14

源自于 Linux 内核的块缓存 Bcache。几个月前,Bcachefs 的补丁集已正式递交审查,有望被纳入内核。 开发者希望能提供类似 XFS/EXT4 的性能,以及类似 Btrfs 和 ZFS 的特性。其主要开发者表示 Bcachefs 的特性 “多到无法列出”,而已

2023-02-09

动补丁 添加对 Steam Deck 控制器的初始支持,一旦该补丁集在 Linux 6.3 中合并, 即意味着 SteamDeck 的手柄可以在 Linux 系统的任意应用中使用,而不仅限 Steam 客户端。 内核中的 Hid-Steam 板块最初是为支持 Steam 控制器手柄而创建

2024-11-01

漏洞的系统管理员。Linux 内核社区还可以访问开源强化补丁集,OpenPaX 的某些功能将根据需要进行上游更新。 OpenPaX 的引入对 Linux 发行版来说是个好消息。例如,Alpine Linux 将在 3.21 中重新发布支持 PaX 的内核作为技术预览版。

2022-05-17

屏幕截图和屏幕录制工具。 就用户体验而言,这是一个巨大的进步。同时,屏幕截图被保存到 ~/Pictures/Screenshots/文件夹并复制到剪贴板,因此用户无需查找它们。 KDE Plasma 5.24 这个新的 Plasma 版本专注于改进设计,并改善环境

2023-08-11

源自于 Linux 内核的块缓存 Bcache。几个月前,Bcachefs 的补丁集已正式递交审查,有望被纳入内核。 开发者希望能提供类似 XFS/EXT4 的性能,以及类似 Btrfs 和 ZFS 的特性。其主要开发者表示 Bcachefs 的特性“多到无法列出”,而已

2022-11-28

本周,一位三星工程师发布了共计 2000 行代码的六个补丁集,用于让 PCI Express 与主线内核的 Tesal FSD SoC 一起工作。 FSD 平台使用三个源自 DesignWare IP 的 PCIe 控制器实例。一个在 FSYS0 block 中,另外两个在 FSYS1 block 中。该系列补

2024-06-25

受欢迎的类别。 整体而言,Flatpak 在 Linux 桌面上取得了巨大的成功,并继续被证明是 Snaps 和 AppImage 等工具的绝佳替代品。 Flatpak 和 Snap 都是一种沙盒容器式的软件包格式,类似于 Docker,旨在提供一种独立于发行版的打包格

2023-07-18

社区合并了loongarch64-unknown-linux-gnu编译目标的初始支持补丁集,开始对龙架构提供初步的Tier3级支持。 此次发布的Rust 1.71.0版本将对龙架构的支持提升到Tier2级别,这一进展标志着Rust开源社区与其它主流指令集架构一样,将原生

2022-12-02

布了最新的 “2022Q3”以及 “2022Q41 RC1”   FFmpeg 补丁集,最新的补丁用于改进 FFmpeg 视频加速与英特尔图形,存放在英特尔的“cartwheel-ffmpeg” 仓库中。 “cartwheel-ffmpeg”仓库是英特尔开发者的暂存区,用于为 FFmpeg 贡献