Linux 7.3 预览:Btrfs 提速 5 倍,关键优化落地
📋 摘要: Linux 7.3 预计于 10 月 18 日发布,在存储、内存管理、调度、安全与硬件支持方面均有改进。Btrfs 和 EXT4 获得显著性能提升,KSM、zsmalloc 与调度相关修复降低了特定工作负载下的延迟。本次版本还包含大量 NTFS3、ksmbd 与 BPF 安全加固,其中多项重要优化由中国科技公司工程师贡献。
Linux 7.3 已进入开发末期,本次版本远不止是一次例行内核更新。
最大的变化分布在内核的多个层面:存储性能、内存管理、调度、安全以及硬件支持。
一些数字相当抢眼。特定 Btrfs 操作据称可提速约 5 倍,相关工作负载下的直接 I/O 吞吐量可超过理论峰值的 90%,一处 KSM 相关延迟问题从 705 ms 降至仅 1.44 ms。
同时,来自中国公司的工程贡献也相当可观,包括 中兴、小米与字节跳动 的工程师。
此外,Linux 7.3 还包含大量安全修复,涵盖 NTFS3 加固、多个 ksmbd 释放后使用问题修复,以及 BPF 验证器的持续强化。
对大多数桌面用户而言,这些改动不会一夜之间彻底改变 Linux 使用体验。但对存储服务器、虚拟化主机、容器、ARM 设备以及暴露于网络服务的系统来说,Linux 7.3 中有多项改进值得关注。
🗓️ Linux 7.3 发布时间线 #
在深入技术变化之前,先明确当前开发进度。
Linux 7.3 的合并窗口已于 8 月 30 日 关闭,随后内核进入每周发布候选版本周期。
当前时间线如下:
| 版本 | 日期 |
|---|---|
| Linux 7.3-rc1 | 8 月 30 日 |
| Linux 7.3-rc2 | 9 月 6 日 |
| Linux 7.3-rc3 | 9 月 13 日 |
| Linux 7.3-rc4 | 9 月 20 日 |
| Linux 7.3-rc5 | 9 月 27 日 |
| Linux 7.3-rc6 | 10 月 4 日 |
| Linux 7.3-rc7 | 10 月 11 日 |
| 预计 Linux 7.3 | 10 月 18 日 |
如果出现严重回归需要额外发布候选版本,最终发布可能推迟至约 10 月 25 日。
这一区别很重要,因为下游 Linux 发行版可能在上游内核正式发布前就冻结内核版本。
Ubuntu 26.10 存在有趣的时间差 #
Ubuntu 26.10 计划于 10 月 15 日 发布,比预计的上游 Linux 7.3 正式版早三天。
这意味着 Ubuntu 26.10 初始版本中包含的内核,很可能基于发行版冻结时点可用的最新上游发布候选版本,而非最终的 Linux 7.3 正式版。
换句话说,在 Ubuntu 26.10 中看到基于 Linux 7.3 的开发内核,并不意味着 Ubuntu 在发布首日就直接采用了上游最终 7.3 版本。
这是发行版开发节奏与上游内核发布时间差的正常结果。
💾 Btrfs 与 EXT4 均获得重大性能改进 #
存储是 Linux 7.3 中最有看点的领域之一。
Btrfs 日志与 fsync 改进 #
Btrfs 获得了两项尤为显著的优化,分别针对 日志 与 fsync 行为。
在相关工作负载中,报告的性能提升可达约 5 倍。
直接 I/O 性能也得到关注。
在测试场景中,吞吐量从约理论峰值的一半提升至 超过理论极限的 90%。
这些数字不应被理解为所有 Btrfs 工作负载都能获得通用的 5 倍提升。文件系统性能高度依赖工作负载特征、硬件、队列深度、I/O 模式以及文件系统配置。
不过,这些改动针对的操作对数据库、虚拟化、服务器以及其他重度依赖直接 I/O 与文件系统同步的工作负载而言,可能具有重要意义。
EXT4 在高速 NVMe 上更快 #
EXT4 同样获得了性能改进。
在重构 IOmap 层之后,参考基准测试显示,高速 NVMe 存储上的性能从约:
192 万 IOPS → 219 万 IOPS
并行直接 I/O 写入也得到改进。
这一点很重要,因为 EXT4 仍是 Linux 中部署最广泛的文件系统之一。即使是相对专门的内核优化,也可能影响大量实际系统。
Btrfs 更改空闲空间树默认值 #
还有一处较小但技术上有趣的 Btrfs 配置变化。
空闲空间树 v2 自 Linux 5.15 起已成为 mkfs 默认值。Linux 7.3 进一步统一了内核侧默认行为,不再将空闲空间树 v1 作为默认。
现有的 v1 文件系统仍保持兼容。
因此,这一变化主要不是突然转换现有文件系统,而是让默认配置与较新的空闲空间树实现保持一致。
🧠 KSM 修复消除严重延迟尖峰 #
内存管理方面有一处较为意外的改动。
中兴 的工程师发现了与 内核同页合并(KSM) 相关的问题。
KSM 允许内核识别相同内存页并合并,从而减少物理内存消耗。在运行多个虚拟机或存在大量重复内存的工作负载的系统上,它可能很有用。
问题与内存压力下的锁竞争有关。
在出问题的场景中,KSM 可能长时间持有锁,导致应用程序停滞数百毫秒。
报告的最坏情况延迟从:
705 ms → 1.44 ms
修复后大幅下降。
这是巨大的差异。
谁会从 KSM 修复中受益? #
这一改动对主动使用内存去重的系统尤为相关。
可能受影响的环境包括:
- 虚拟化主机
- KVM 部署
- 容器密集型系统
- 内存受限服务器
- 运行大量相似工作负载的系统
普通桌面用户不太可能遇到这一特定问题。
不过,如果 Linux 工作站或服务器在重内存压力下突然出现长时间应用冻结,内核内存管理行为可能是不那么明显的原因之一。
🧊 zsmalloc 在小型设备上更快 #
另一项内存管理优化针对 zsmalloc,这是多个 Linux 子系统使用的压缩内存分配器。
该改进由 小米 工程师贡献,在参考的 Raspberry Pi 4B 测试中最高可带来约 1.83 倍 的性能提升。
这对低成本 ARM 系统、边缘设备以及其他内存资源受限的硬件尤为相关。
与通用桌面性能优化不同,这是一项针对性改进,收益高度取决于工作负载是否实际使用受影响的分配器。
不过对 Raspberry Pi 级别的设备而言,内存效率可能产生显著影响,因为其 CPU 与内存资源远比现代桌面有限。
⚡ 字节跳动重构 SMP 调度 #
调度是另一个获得大量关注的领域。
字节跳动 的工程师贡献了一项与 SMP 相关的重构,改善了网络密集型工作负载下的延迟。
在参考测试中,最坏情况进程间通信延迟从约:
17 ms → 1.5 ms
下降约 90%。
同样,这应理解为特定工作负载的结果,而非所有 Linux 应用都会突然获得 90% 更低延迟的通用声明。
桌面影响 #
对桌面系统而言,调度器延迟的改进可能降低前台应用与后台工作负载之间的竞争。
这可能转化为:
- 更少的可见卡顿
- 更一致的应用响应性
- 在 CPU 竞争下更稳定的帧交付
- 后台任务消耗系统资源时更好的行为
在正常工作负载下,差异可能较为细微。
但在高 CPU 与网络活动下,调度器延迟会变得重要得多。
服务器影响 #
服务器对尾部延迟更为敏感。
少数极慢的调度事件可能对响应时间百分位产生不成比例的影响。
因此,降低最坏情况延迟对高并发网络服务尤其有用。
🧩 sched_ext 进一步推进可编程调度 #
Linux 的 sched_ext 框架也在快速进展。
sched_ext 允许开发者使用基于 BPF 的机制实验自定义调度策略。
在 Linux 7.3 开发中,sched_ext 及其相关自测基础设施在参考的 rc2 开发周期中,占据了非驱动变更的相当一部分。
更广泛的方向很重要。
传统 Linux 调度策略深度实现在内核中,而 sched_ext 创建了一个框架,使开发者无需重写整个调度子系统即可实验替代调度策略。
对普通用户而言,这还不是需要配置的功能。
但对内核开发者、研究人员与性能工程师来说,可编程调度代表了未来 Linux 开发的一个重要方向。
🔐 Linux 7.3 也是一次以安全为重点的发布 #
性能改进往往占据头条,但 Linux 7.3 同样包含大量安全加固。
三个领域尤为值得注意:
- NTFS3
- ksmbd
- BPF 验证
即使日常桌面使用中察觉不到,这些改动依然重要。
🪟 NTFS3 获得广泛加固 #
NTFS3 驱动获得了大量修复,参考变更中约涉及 21 个提交、922 行代码。
修复涵盖多类问题,包括:
- Slab 越界写入
- 重解析处理中的越界读取
- 对象 ID 初始化时的越界情况
- 涉及
ntfs_rename()的信息泄漏 - MFT 簇验证中的整数溢出问题
同时加入了 NTFS 备用数据流(ADS) 的基本支持。
对经常在 Windows 与 Linux 之间交换存储设备的用户来说,这些改进尤为相关。
NTFS3 直接位于文件系统边界,驱动中的正确性与安全问题可能影响任何挂载不受信任或外部提供的 NTFS 卷的 Linux 系统。
🌐 ksmbd 修复多个释放后使用漏洞 #
Linux 的内核态 SMB 服务器 ksmbd 也获得了多项安全修复。
改动解决了涉及以下方面的释放后使用问题:
- 树连接
- Oplock 中断通知
- 会话管理
本次版本还增加了响应名称长度验证,并改进了注销期间的会话排空。
由于 ksmbd 直接从内核提供面向网络的 SMB 功能,该领域的漏洞值得特别关注。
运行 ksmbd 的管理员应密切关注包含这些修复的稳定内核版本,而不是无限期等待主要发行版升级。
🛡️ BPF 验证器持续加固内核 #
BPF 验证器 是现代 Linux 中另一道重要安全边界。
Linux 7.3 在多个方面继续强化它。
其中包括:
- 推断条件分支后寄存器是否为 NULL
- 拒绝指向主程序的无效伪函数引用
- 阻止源自回调帧的不安全直接尾调用
- 正确识别某些系统调用辅助函数为可睡眠
- 防止在推测执行路径上暴露越界指针
这些改动可能不会为桌面用户带来可见改进,但对重度依赖 BPF 的系统安全模型而言很重要。
BPF 越来越多地用于网络、可观测性、追踪、安全工具与系统级定制,因此验证器的正确性日益关键。
管理员应如何做 #
实际建议很简单:
不要仅为提前获得这些修复,就用自编译的主线开发内核替换生产发行版内核。
安全修复通常会回移植到稳定 Linux 分支与发行版内核中。
对生产环境而言,应关注你的 Linux 发行版提供的安全公告与内核更新。
🦀 Rust 支持扩展至更多架构 #
Linux 内核中的 Rust 支持持续扩展。
Linux 7.3 增加了对以下架构的 Rust 支持:
- PPC32BE
- PPC64LE
这些架构加入了已有的 Rust 启用目标,包括:
- ARM32
- ARM64
- LoongArch
- RISC-V
- x86_64
PowerPC 的 Rust 支持最初以实验状态进入内核,在额外补丁完善后现已向维护状态推进。
这再次表明,Rust 正成为 Linux 内核开发生态中日益重要的一部分。
🍎 Apple Silicon 获得更多 USB4 与 Thunderbolt 支持 #
Asahi Linux 社区继续推进 Apple Silicon 硬件支持。
一套 19 个补丁的系列引入了针对苹果 M1、M2 与 M3 平台的初始 USB4 与 Thunderbolt 相关支持。
当前工作包括:
- XDomain
- USB 3 over USB4 隧道
但若干领域仍不完整,包括:
- PCIe 隧道
- DisplayPort
- 挂起/恢复
相关的 Apple PMGR 电源管理驱动也提供了有趣的效率改进,在参考测试中 s2idle 期间功耗降低约 1 瓦。
对运行 Apple Silicon 硬件的 Linux 用户来说,这些渐进式内核改进可能比原始基准提升更重要,因为硬件兼容性仍是该平台的主要挑战之一。
🧬 Linux 7.3 为新 AMD 与 Intel 硬件做准备 #
内核也在继续为即将到来的处理器与 GPU 世代做准备。
已加入对 AMD 下一代 Zen 6 平台 的初始支持,以及大量 AMD GPU 代码。
在引用的开发统计中,AMD GPU 变更约占 Linux 7.3-rc1 变更的 三分之一。
Intel 也获得额外工作,涵盖:
- 混合 CPU 调度与优化
- Xe3P 图形
- Nova Lake GPU 支持
这类早期内核支持对新硬件至关重要,因为操作系统支持往往需要在硬件广泛面向消费者之前落地。
🐧 Linus 追踪到一个单字符的 Intel GPU 漏洞 #
开发过程中有一则更有趣的故事,涉及影响 Battlemage G21 硬件的 Intel Xe GPU 问题。
Linus Torvalds 亲自追踪到一个可能导致黑屏的 VRAM 偏移计算错误。
最终修复只改动了一个字符:
round_up()
改为:
round_down()
发现问题却远非简单。
调试过程据称涉及约 24 个补丁、自定义调试代码与 18 次重启,才最终隔离出底层计算错误。
有趣的是,最终变更的提交信息是在 AI 协助下生成的。
这很好地说明了内核调试有多困难:一个单字符的改动可能位于涉及数十次迭代与反复硬件测试的调试过程的尽头。
🧪 如何安全测试 Linux 7.3 #
如果这些改动让你想提前测试 Linux 7.3,有一条规则值得强调:
不要在主要生产机器上直接安装主线开发内核。
开发内核存在的意义,正是因为回归仍在被发现。
有更安全的实验方式。
选项 1:使用 Ubuntu 26.10 开发构建 #
Ubuntu 26.10 的开发与测试版提供了更容易体验即将到来的内核环境的方式。
请使用 备用机器或虚拟机,而非你的主要工作站。
最终 Ubuntu 正式版发布后,开发安装可根据所选开发通道向稳定版过渡。
选项 2:等待发行版内核 #
对生产系统而言,等待通常是更好的做法。
一旦 Linux 7.3 上游正式发布,发行版可通过正常更新通道回移植个别修复或迁移到新内核。
Ubuntu 26.04 LTS 用户尤其应避免仅为获得上游特性而替换生产内核。
HWE 周期与官方发行版更新提供了更安全得多的路径。
始终准备回滚计划 #
在实验开发内核之前:
- 创建 Timeshift 快照或等效系统备份。
- 保留现有内核。
- 尽可能在备用硬件或虚拟机上测试。
- 切勿对关键生产工作负载使用实验性内核。
内核更新与安装普通桌面应用有本质不同。一旦出错,故障可能影响整个操作系统。
📊 Linux 7.3 对你是否重要? #
实际影响高度取决于你使用 Linux 的方式。
| 使用场景 | Linux 7.3 影响 |
|---|---|
| 日常桌面 | 多为细微改进,在系统重负载下可能提升响应性 |
| 服务器 / 存储 | 可从 Btrfs 与 EXT4 性能工作中获得显著潜在收益 |
| 虚拟化 / 容器 | KSM 改进可在内存压力下减少严重延迟尖峰 |
| NTFS 数据交换 | 来自 NTFS3 修复的直接安全与稳定性提升 |
| ksmbd / BPF 用户 | 重要安全修复,值得通过稳定回移植跟踪 |
| Raspberry Pi / 边缘设备 | 可能从 zsmalloc 优化中获益 |
| Apple Silicon Linux | 额外的 USB4 与 Thunderbolt 功能 |
| 新 AMD / Intel 硬件 | 即将到来平台的早期内核支持 |
对普通桌面用户而言,Linux 7.3 不太可能感觉像一个全新的操作系统。
更有趣的收益出现在特定工作负载下。
存储服务器可能受益于文件系统改进。虚拟化主机可能受益于 KSM 修复。网络密集型服务器可能受益于调度改动。Apple Silicon Linux 系统可获得额外硬件支持。
同时,NTFS3、ksmbd 与 BPF 中的安全修复即使不产生可见性能变化,也依然相关。
🚀 Linux 7.3 不止是一次性能发布 #
Linux 7.3 正发展成为一次全面的内核发布。
头条数字令人印象深刻:特定 Btrfs 操作可达到约 5 倍 更高性能,EXT4 受益于 I/O 层改进,KSM 最坏情况延迟从 705 ms 降至 1.44 ms,调度改动在参考的网络密集型工作负载中显著降低延迟。
但那些不那么显眼的改动最终可能同样重要。
NTFS3 获得广泛加固,ksmbd 修复多个释放后使用问题,BPF 验证器继续填补细微安全缺口。
与此同时,Linux 7.3 扩展了 Rust 支持,改进了 Apple Silicon 连接性,为下一代 AMD 与 Intel 硬件做准备,并通过 sched_ext 继续推进可编程调度。
其中多项改进也体现了 Linux 内核开发日益国际化的特点,包括来自 中兴、小米与字节跳动 等公司工程师的有意义贡献,以及来自更广泛全球内核社区的开发者。
对普通用户而言,没有必要急于切换到开发内核。
对管理员、开发者与 Linux 爱好者来说,Linux 7.3 值得密切关注。
最安全的策略是等待上游完成发布,让发行版集成并回移植重要改动,再通过正常的包管理路径升级。
这样,你既能获得性能改进与安全加固,又不会把主要的 Linux 安装变成内核调试实验。
原文地址: Linux 7.3 Preview: Btrfs Gets 5x Faster as Key Optimizations Land