随着 2024 年即将结束,以下是今年最受欢迎的 Linux 内核新闻,从令人兴奋的性能优化和新功能(如 QR 码错误消息)到围绕俄罗斯内核开发人员的内核戏剧、Bcachefs 干扰以及内核中有争议的不断增长的 Rust 编程语言使用。
以下是 2024 年围绕 Phoronix 上 Linux 内核的最热门新闻……技术项目的有趣组合,然后是开源内核领域的其他一般事件。
其中一位 Rust Linux 内核维护者下台 – 引用“非技术性废话”
Rust for Linux 内核维护者之一已决定退出该项目。此举至少部分是由于必须处理围绕 Linux 内核中 Rust 编程语言使用而引发的越来越多的“非技术废话”。
2024 年讨论是否将 Linux 内核从 C 转换为现代 C++
一个已有六年历史的 Linux 内核邮件列表讨论重新点燃了关于将 Linux 内核转换为支持现代 C++ 代码的前景的讨论。
几个 Linux 内核驱动程序维护者因与俄罗斯
有关联而被撤职本周的 Linux 6.12-rc4 内核中悄然合并是一个补丁,该补丁删除了一些内核维护者,使其不在官方 MAINTAINERS 文件中注明,该文件承认所有驱动程序和子系统维护者。
Linus Torvalds 通过较小的 Linux 内核补丁实现了 2.6% 的性能提升Linus
Torvalds 在周三合并了他编写的一个补丁,通过返工几行代码,能够在英特尔的良好练习“它会扩展”每个线程操作基准测试案例中获得 2.6% 的改进。
Rust 编写的 Linux 调度程序在游戏性能
方面显示出可喜的结果 一位 Canonical 工程师一直在尝试在 Rust 编程语言中实现 Linux 调度程序。他的早期结果很有趣,并且围绕着基于 Rust 的调度器的潜力充满希望,该调度器通过 sched_ext 实现使用 eBPF 的调度器,该调度器可以在运行时加载。
Linus Torvalds 开始对合并 Bcachefs
表示遗憾 Linux 内核邮件列表上出现了一些周五晚上的内核戏剧……Linus Torvalds 对合并 Bcachefs 文件系统以及随后的文件系统维护者之间的来回争论表示遗憾。
Linus Torvalds 通过发布新的 Linux 内核补丁来反对“完全破碎”x86_64功能级别
作为该补丁系列的一部分,sterday 清理了 x86_64 CPU 上的 x86 32 位内核,围绕x86_64微架构功能级别引入了新的 Kconfig 构建选项。事实证明,Torvalds 完全反对编译器工具链人员处理x86_64功能级别的方式,并且不希望看到它侵入内核。
Linus Torvalds 使用早期 Linux 6.8 代码遇到了令人讨厌的性能回归 Linus Torvalds 本人对 Linux 内核性能回归的警钟并不常见,但今晚正在进行的 Linux 6.8 合并窗口就发生了这种情况。
Torvalds 的 AMD Ryzen Threadripper 系统突然遭受了更长的构建时间,至少由于该内核的新代码。
Linux 的新 DRM Panic “蓝屏死机” 正在运行
在被谈论多年的 DRM panic 处理并为 DRM/KMS 驱动程序提供“蓝屏死机”解决方案之后,Linux 6.10 正在引入一个新的 DRM panic 处理程序基础设施,以便能够在发生 panic 时显示消息。这对于构建不支持 VT/FBCON 的内核的用户尤其重要,否则就不容易查看内核 panic 消息。
Linus Torvalds对错误的硬件和理论上的CPU攻击
越来越感到沮丧 在过去的一周里,Linux的创建者Linus Torvalds一直在Linux内核邮件列表的帖子中活跃,以避免在copy_from_user()中使用barrier_nospec(),因为它“过头并且非常慢”。对话演变为关于 CPU 行为和如何最好地处理、支持线性地址掩码 (LAM) 的新 Intel CPU 的不同行为/要求,以及最近围绕 CPU 安全缓解措施的总体难题的低级讨论。
Linux CoC 在最近的 Bcachefs 事件
后宣布决定继 Bcachefs 首席开发人员 Kent Oversteet 最近表示,根据他的行为准则,Linux 6.13 的 Bcachefs 更改被拒绝之后,Linux CoC 委员会现在正式宣布了他们的决定。
Linux 将能够使用单行内核补丁将启动速度提高 ~0.035 秒 Linux 内核本身已经可以非常快速地启动,但使用简单的单行补丁,另外 ~0.035 秒将能够缩短启动时间。
由于内核破损,Torvalds 在 GCC 上带有“-wstringop-overflow”
Linux 6.8 中较晚合并的新功能之一是启用 -Wstringop-overflow 编译器选项,以便在编译器可以在编译时检测到可能的缓冲区溢出时发出警告。虽然理论上很好,但 GCC 上的问题导致 Linus Torvalds 从现在的 Linux 6.8 开始禁用了这个编译器选项。
Linus Torvalds 注入制表符以阻止 Kconfig 解析器未正确处理它们在
昨天的 Linux 6.9-rc4 版本中是 Linus Torvalds 的一个有趣的小块,用于与无法正确处理制表符而只是为这种内核配置格式假设空格的 Kconfig 解析器作斗争。
Linux 6.12 可选择在内核崩溃
期间显示 QR 码今天通过 DRM-Misc-Next 提交到 DRM-Next,以便在 9 月中旬的 Linux 6.12 合并窗口之前暂存,这是对在 Linux 内核崩溃时在 DRM Panic 处理程序基础设施中显示 QR 码的可选支持。
Bcachefs 修复拉取再次让 Linus Torvalds 感到沮丧 – 提供
两种选择Linus Torvalds 将最新一轮的修复合并到实验性 Bcachefs 文件系统中,但这让 Linux 创建者 Linus Torvalds 感到沮丧,由于持续的 LKML 戏剧,他为文件系统向前发展提出了两种选择。
Linus Torvalds 现在正在进行更多的 ARM64 Linux 测试,因为他拥有更强大的系统
Linux 内核和 Git 创建者 Linus Torvalds 以目前使用 AMD Ryzen Threadripper 工作站作为主系统而闻名,此前他已经使用了 Intel 硬件多年。过去几年,他还进行了更多的 ARM64 测试,因为他有一台使用 Apple Silicon 的 Apple MacBook,它可以作为很好的旅行设备,并用于定期编译新的 ARM64 Linux 内核版本。最近,他的 ARM64 Linux 测试有所增加,因为他拥有更强大的 AArch64 系统来补充他的常规设备系列。
Linus Torvalds 谈 Linux 6.8 DRM:“严重缺乏测试”
虽然 Linux 6.8 的直接渲染管理器 (DRM) 内核图形/显示驱动程序更新令人兴奋地包括新的 Intel “Xe” DRM 和 PowerVR Imagination 驱动程序、实验形式的 AMD 色彩管理属性、Raspberry Pi 5 图形支持等,但 Linus Torvalds 对一些新的 Intel Xe 驱动程序代码并不满意。
Torvalds 对 Linux 缓解意外算术溢出/下溢
的想法对于那些对本周末阅读一些有见地的 Linux 内核邮件列表感兴趣的人,已经就 Linux 内核缓解意外算术溢出/下溢/环绕的能力展开了热烈的讨论。
Linus Torvalds 抛出锤子:Linux 6.11 中的可扩展调度器“sched_ext”可扩展调度器“sched_ext”代码已被证明相当通用,可以提供更好的 Linux 游戏性能,更快地构建新的调度器更改原型,Ubuntu/Canonical 一直在评估它。
r 追求更像微内核的设计,以及许多其他有趣的方法。然而,它仍然不在树上,但现在随着即将到来的 Linux 6.11 周期而改变。
Linux 的 DRM Panic “Screen of Death” 看到 QR 码错误消息
的补丁Linux 6.10 引入了 DRM Panic,以便在出现内核错误和可能禁用 VT 支持的情况下提供新的恐慌屏幕。这个新的内核功能类似于 Windows 的蓝屏死机,或者由于开源,可以适应其他形式,例如黑屏死机和传达单色徽标而不是 ASCII 艺术。新补丁提供了在 DRM Panic 屏幕中显示错误消息的 QR 码的功能。
Linux 6.10 准备了一个内核崩溃屏幕 – 有点像“蓝屏死机”
虽然 systemd 255 去年引入了一个受 systemd-bsod 启发的“蓝屏死机”解决方案,用于全屏显示记录的错误消息,但它并不适合所有错误。systemd-bsod 可以在用户空间处于活动状态的情况下出现启动失败和其他问题时显示全屏消息。但是,如果内核 panic 和类似问题导致系统停止,则用户空间代码几乎没有什么用处。现在将在 Linux 6.10 中引入一个并行的“蓝屏死机”错误,该错误在引入 DRM panic 处理程序时呈现体验。
Meta 使用 BOLT 优化 Linux 内核的性能提高了 ~5%多年来,Meta/Facebook 一直在探索将 BOLT 与 Linux 内核结合使用,以优化 Linux 内核二进制文件的布局。
自从 BOLT 上游到 LLVM 中以来,他们一直在继续围绕内核的 BOLT 进行工作。现在有一个公共指南,用于执行 BOLT 优化的 Linux 内核构建,并且预期此类优化内核的系统性能将提高大约 5%。
Debian 孤立 bcachefs-tools: “不可能在 Debian 稳定版中维护”
甚至在 Bcachefs 文件系统驱动程序被主线内核接受之前,Debian 在过去五年中就提供了一个 “bcachefs-tools” 软件包,为这个写时复制文件系统提供用户空间程序。起初它是简单的 C 代码,起初很简单,但自从 Bcachefs 工具过渡到 Rust 以来,对于思想稳定的分发供应商来说,它已经变得一团糟。因此,bcachefs-tools 软件包现在已被 Debian 孤立。
Linux 6.10 将在启动时打印已填充的内存插槽的数量作为一个小信息,Linux 6.10 内核将在启动时将填充的内存插槽数量打印到内核日志中,作为一个小助手。
据报道,Bcachefs 更改因 CoC 而被拒绝,内核未来“不确定”
虽然 Linux 6.13 的 Bcachefs 功能更改甚至在 Linux 6.12 稳定内核发布之前就已经提交,但由于内核的行为准则 (CoC) 板,合并这些更改据称被搁置。
李nus Torvalds 通过合并他自己的一些代码来开始 Linux 6.11 合并窗口Linus Torvalds 昨天通过合并他自己的一些功能代码来开始 Linux 6.11 合并窗口下一个内核版本。
Linux 6.13 将报告自启动以来挂起的任务数继本周早些时候 Andrew Morton 发送的所有 MM 补丁之后,周日早上他发送了他为 Linux 内核管理的所有非 MM 补丁。
对于 Linux 6.13,此拉取请求的值得注意的是,它显示了挂起的任务计数器,并在 NILFS2 代码中完成了作品集转换。
或者感谢 Grok AI 以可视化形式总结 Linux 内核年:
2024 年,您最喜欢 Linux 内核的什么?您希望在 2025 年看到 Linux 内核的什么?通过在论坛中评论这篇文章来告诉我们,以便在假期进行一些有趣的讨论。
转自 Rust Drama, Russian Kernel Maintainers & Other Top Linux Kernel Happenings Of 2024 – Phoronix