当前位置:首页>Linux>Linux 7.2-rc4 发布了!缓存调度让数据库起飞、掌机耳机终于有声、strncpy 谢幕,AI 补丁成「新常态」

Linux 7.2-rc4 发布了!缓存调度让数据库起飞、掌机耳机终于有声、strncpy 谢幕,AI 补丁成「新常态」

  • 2026-09-09 04:03:31
Linux 7.2-rc4 发布了!缓存调度让数据库起飞、掌机耳机终于有声、strncpy 谢幕,AI 补丁成「新常态」

Linux 7.2-rc4 发布了!缓存调度让数据库起飞、掌机耳机终于有声、strncpy 谢幕,AI 补丁成「新常态」

摘要:Linux 7.2-rc4 于 7 月 19 日发布,合并窗口的大批新功能已全部就位。缓存感知调度首次让内核"看懂" CPU 缓存拓扑,MongoDB 吞吐量直接翻倍;ROG Ally X 掌机的耳机和麦克风终于能用了;潜伏 6 年、累计 360+ 个补丁后,strncpy 彻底退出内核。Linus 更首次确认:AI 代理找 bug、报 bug、修 bug 已成「新常态」。

⏱ 阅读时长:约 10 分钟 | 🐧 适合:技术爱好者、开发者、掌机玩家


上周末,Linus Torvalds 照例签发了 Linux 7.2 的第四个候选版本(rc4)。他在发布说明里用了一个耐人寻味的词——"pretty normal"(相当正常),却特意打了引号。

为什么要加引号?因为现在的「正常」已经不是以前的「正常」了。

Linus 的原话大意是:AI 代理正在前所未有地承担起发现、报告和修复漏洞的工作,让每个候选版本的补丁提交量远超以往。相比过去依赖开发者逐个排查的时代,内核开发节奏已经被彻底改写。

这个「新常态」(the new normal)有多猛?rc1 到 rc4 短短三周,光是修复级变更就已经覆盖了缓存调度、内存管理、文件系统、音频驱动、安全加固等几乎所有子系统。合并窗口阶段攒下的那几个「大家伙」,越到后面越显出真章。

下面一个一个拆开看。


一、缓存感知调度(CAS):内核终于「看懂」CPU 缓存在哪

这是 7.2 最核心的架构级变化,没有之一。

在讲它是什么之前,先想一个问题:你的电脑可能是 8 核、16 核甚至更多,但并不是所有核心共享同一个 L3 缓存。现代 CPU(尤其是多 CCD 的 AMD 和大小核混合的 Intel)的缓存是分区的——核心 A 和核心 B 可能在同一个缓存组里,核心 C 在另一个组里,数据搬来搬去是有成本的。

Linux 之前的调度器 不知道这些缓存边界在哪里。它只知道"这个核心现在闲,把任务移过去",但从冷缓存重新加载工作集(working set)的代价它不考虑。

缓存感知调度(Cache Aware Scheduling,CAS)做的事情很简单:内核现在会追踪一个任务的「工作集」上次「住」在哪个 CPU 缓存分区里,未来调度时优先把它留在这个分区里的核心上执行。

听起来不起眼,但落实到 benchmark 上,效果是真实可测的:

场景
性能提升
来源
MySQL 数据库查询
最高 360%
Phoronix(CAS 扩展测试)
MongoDB YCSB(NVMe)
+30%
MGLRU + 回收链路优化
MongoDB YCSB(慢 I/O)
最高 +100%
同上
/proc/filesystems 读取
最高 +444%
结构重构

💡 简单理解:以前内核是瞎子,把任务在缓存组之间搬来搬去;现在它有了地图,知道搬一次代价多大,能不搬就不搬。

这个特性已经以 CONFIG_SCHED_CACHE 选项正式合入主线,经历了超过一年的社区审查。对 Ubuntu 用户来说,多 CCD 的 AMD 锐龙、Intel 大小核混合架构的笔记本,将是感知最明显的群体。

另外,与 CAS 同属 MM(内存管理)子系统的 MGLRU(多代 LRU)回收链路也被优化了脏页回写逻辑。简单说,以前在内存吃紧时,MongoDB 这种「数据集大于物理内存」的数据库频繁触发页面回收和磁盘 I/O;现在内核更「聪明」地判断哪些页面真的该回收、哪些可以缓缓,减少了不必要的磁盘读写。

搞数据库、跑容器、玩 NAS 的朋友,这波值得关注。


二、strncpy 正式退役:历时 6 年、360+ 个补丁的内核"除锈"工程

说到 strncpy,写过 C 的朋友可能已经下意识皱眉了。

这个函数的「坑」是出了名的:

  • • 不保证 null 终止——如果源字符串长度 ≥ 目标缓冲区大小,它不会自动在末尾加 \0。后续用 strlen 或 printf("%s") 去读,轻则读到垃圾数据,重则直接越界崩溃。
  • • 静默零填充剩余空间——如果源字符串比缓冲区短,它会把剩下的全部填 0。在小缓冲区场景下可以忽略,但在内核里动辄几百 KB 的缓冲区,这是实打实的 CPU 浪费。

从 2020 年起,内核社区就启动了"消灭 strncpy"的专项工程,用更安全的替代函数(主要是 strscpy(),它强制 null 终止、不做无意义零填充)逐个替换内核中的 strncpy 调用。

到 7.2 合并窗口关闭,这套补丁集历经 360+ 次提交、覆盖 6 年,终于宣告完成——内核树中再也找不到任何一个 strncpy() 调用。

这件事对��通用户完全无感,但对内核代码的健壮性和安全性来说,是不折不扣的历史性节点。


三、数据库/存储层的三重暴击

除了 CAS + MGLRU,7.2 在内核存储栈上还悄悄塞了三颗糖,颗颗都甜在 DBA 和运维人员的心坎上。

3.1 Btrfs 大页(Large Folios)默认开启

Btrfs 在 Linux 6.17 时引入了实验性的 large folios 支持,到了 7.2 正式"转正"——默认���启,不再需要手动挂载选项。

Folios 是内核用来替代传统内存页(page)的基本单位。一个 folio 可以包含多个连续的物理页,这样内核在管理文件缓存时就不需要逐页跟踪元数据,减少了大量"簿记"开销。对大文件读写(备份、媒体库、虚拟机镜像)和大量小文件的元数据操作,效果最明显。

不仅如此,7.2 还引入了实验性 huge folios(单 folio 最大 2MB):

测试场景
提升
顺序写入(限制 bio 大小避免延迟尖峰)
最高 +15%
直接 I/O(不再强制串行化)
最高 +60%

用 Btrfs 做 RAID 或 NAS 存储池的用户,升到 7.2 内核后 fio 跑一轮顺序写大概率能看到肉眼可见的提升。

3.2 EXT4/XFS:两行代码消灭一个无用 memset

这是字节跳动工程师 Fengnan Chang 提交的一个 fix,典型的「代码越少、效果越强」案例。

在 Linux 的 VFS 层,iomap_iter() 是 EXT4 和 XFS 共用的文件映射迭代框架。旧代码在每次迭代结束后,会对 iomap 结构体做一个 memset 清零——初衷是"防御性编程",防止下次迭代读到脏数据。但问题是:调用者在迭代完成后直接丢弃了这个结构体,这次 memset 完全无用。

在 4K 随机读 + NVMe 轮询模式(通过 io_uring 提交)的高 IOPS 场景下,这个多余的 memset 消耗了大量内存写带宽。

修复方法:删掉这个 memset。两行代码。

文件系统
IOPS 提升
EXT4
+5%
XFS
+5%

两行代码,5% 的 IOPS 提升。这才是真正的「优化」。

3.3 EROFS 稀疏 AI 数据集优化

面向 AI 训练场景的 EROFS 只读文件系统,在 7.2 中优化了对大规模稀疏数据集(动辄 TB 级别的 AI 训练语料)的处理效率,I/O 更高效。


四、ROG Ally X 耳机终于有声了——Linux 掌机的里程碑

如果你有一台华硕 ROG Ally X 掌机,并且装了 Linux(Bazzite、ChimeraOS、或者直接用 Fedora/Ubuntu),你大概率遇到过这个问题:插上耳机没声,麦克风也没反应。

这个问题的根源出在 Realtek ALC289 声卡与 Linux 内核 ALSA 驱动的兼容性上——从 2026 年初起,相关用户报告就一直在积累。对于一台核心卖点是「便携游戏」的设备来说,音频残疾这个体验确实让人崩溃。

开发者 Matthew Schwartz 在 7.2-rc4 中提交了两条针对性修复:

ALSA: hda/realtek: Fix headphone output on ASUS ROG Ally X
ALSA: hda/realtek: Fix headset mic on ASUS ROG Ally X

📌 这两条补丁修复的是耳机输出无声 + 耳麦麦克风不收音两个独立问题。

当前怎么用上这个修复?

方案
操作
稳定性
等正式版
等 7.2 稳定版(预计 8 月中下旬),你的发行版会在更新通道中自动推送
⭐⭐⭐⭐⭐ 最稳
尝鲜
切换到发行版的测试通道/滚动仓库(如 Arch testing),直接拉取含 rc4 补丁的内核
⭐⭐⭐ 有轻微不稳
硬核
手动拉取 Mainline 内核 7.2-rc4 源码编译安装
⭐⭐ 进阶玩家专属

🎮 重要信号:ROG Ally X 音频修复 + OneXPlayer 驱动 + sched_ext 重构 + AMDGPU HDMI 2.1 FRL——7.2 在「游戏/掌机」方向上的投入非常密集。如果你一直犹豫"Linux 能不能打游戏",答案正在变得越来越肯定。


五、Rust 悄悄吃掉更多内核代码:39,000 行 Zerocopy 进场

7.2 的 Rust 子模块新增了超过 40,000 行代码,是迄今为止 Rust 在内核中单次增量最大的一次。

核心主角是 zerocopy crate(约 39,000 行)——一个专注于"零成本、安全、编译期错误检测"的内存操作库。它的官方 slogan 你感受一下:

"Fast, safe, compile error. Pick two."
(快速、安全、编译报错。三选二。)

它的作用是在 Rust 代码中安全地进行字节序列和类型之间的转换(类似 C 中的 memcpy / reinterpret_cast),而不需要手写 unsafe 块。内核里很多地方需要把一段内存按不同布局解释——以前靠 unsafe,现在靠 zerocopy 的 FromBytes trait 和 transmute! 宏,编译器在编译期就能帮你检查是不是「合法转换」。

为什么关注这个?

  1. 1. 它是 Rust crate 生态中最广泛应用的基础库之一,连 Rust 编译器自己都在用
  2. 2. 引入后,内核中第一个收益者是 NVIDIA Nova 驱动——一处 unsafe impl 被直接删除,且 zerocopy 版本编译后无运行时开销、无 panic 路径
  3. 3. 标志着主线内核的 Rust 策略从「能不能用」进入「怎么更好用」阶段

与 zerocopy 同时落地的还有:

  • • AutoFDO(自动反馈导向优化):Rust 内核代码也能利用编译期性能剖析数据自动优化,Rust Binder 实测约 +13% 性能提升
  • • Rust KASAN 支持:软件标签版内核地址消毒器,找内存 bug 更方便

六、更多值得知道的"彩蛋"

以下内容篇幅原因不一展开,但每一条都可以单独写一篇文章。

变化
一句话说清
谁该关注
Apple M3 初步启动支持
M3 设备终于能用主线内核 boot 了(概念验证阶段,暂非日用级别)
Mac 装 Linux 玩家
Intel TDX 运行时更新
可信域扩展支持不重启应用安全更新
云/服务器运维
IMA/EVM 后量子 ML-DSA 签名
Linux 完整性验证体系支持抗量子攻击签名算法,防「量子计算机破解 RSA」的未来风险
安全工程师
KUnit 支持 JUnit XML 输出
内核自测框架输出标准 JUnit 格式,可直接接入 CI/CD 流水线
内核开发者
sched_ext 源码重构
被 Linus 点名批评代码风格「disgusting」后重写,可扩展调度器框架更干净了
调度器爱好者
OneXPlayer 掌机驱动
又一款国产掌机得到主线内核原生支持
掌机玩家
USB4STREAM
通过 USB4 链路在主机间高速低延迟传输媒体流
硬件极客
定时器 DoS 防护
内核主动防御针对定时器武装(timer arming)的拒绝服务攻击
安全运维

值得特别提一下的是 IMA/EVM 后量子签名——这不只是一个「安全补丁」。它的底层逻辑是:RSA 和 ECC 在量子计算机面前理论上可以被 Shor 算法破解,而 ML-DSA(FIPS-204)是 NIST 选定的后量子签名标准。内核现在能在证书和模块签名验证阶段就用上它,意味着整个 Linux 完整性链条开始向量子安全时代迁移。步子不大,但方向明确。


七、对 Ubuntu 用户意味着什么?

Ubuntu 26.10(代号"Stonking Stingray")已经确认将使用 Linux 7.2 作为默认内核(Canonical 5 月底在 Ubuntu Discourse 官宣)。发布时间线:

节点
日期
Linux 7.2 正式版
2026 年 8 月中下旬
(预计)
Ubuntu 26.10 功能冻结
2026 年 8 月 20 日
Ubuntu 26.10 Beta
2026 年 9 月 24 日
Ubuntu 26.10 正式发布2026 年 10 月 15 日

也就是说,现在追 7.2-rc4,你看到的就是 10 月份 Ubuntu 新版本的「内核预演」。

三种提前尝鲜姿势(风险递减排列):

# 姿势一:Mainline PPA(最直接)
sudo
 add-apt-repository ppa:cappelikan/ppa
sudo
 apt update
# 等 7.2 正式版进 PPA 后:

# sudo apt install linux-image-7.2.0-xxx-generic


# 姿势二:等 Ubuntu 26.10 Daily Build

# 下载每日构建 ISO → 虚拟机或闲置设备上体验

# https://cdimage.ubuntu.com/ubuntu/daily-live/current/


# 姿势三:源码编译(硬核玩家专属)

git clone --depth=1 -b v7.2-rc4 \
  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd
 linux
make olddefconfig
make -j$(nproc) && sudo make modules_install && sudo make install

⚠️ rc 内核不是给生产环境用的。桌面折腾可以,服务器别碰。


八、一张图总结

维度
7.2-rc4 值得关注的 8 个变化
🧠 调度器
缓存感知调度(CAS),MySQL 最高 +360%
🗄️ 数据库
MGLRU 优化,MongoDB 吞吐翻倍
📦 文件系统
Btrfs 大页默认开、EXT4/XFS 减 2 行 +5%、EROFS AI 优化
🛡️ 安全
strncpy 退役、后量子签名、定时器 DoS 防护、Intel TDX
🎮 游戏/掌机
ROG Ally X 音频修复、OneXPlayer 驱动、HDMI 2.1 FRL
🦀 Rust
Zerocopy 39,000 行进场、AutoFDO +13%、Nova 驱动减 unsafe
🤖 AI
Linus 官宣"AI 发现+修复 bug 成新常态"
🍎 硬件
Apple M3 启动、USB4STREAM、Intel Xe Panther Lake

7.2 这波内核更新,给我的体感是「全面」而非「单点突破」。调度器有了缓存智商、存储栈被批量打磨、Rust 不再是小打小闹、掌机生态肉眼可见地在变好——AI 更是在后台默默改写着内核开发的工作方式。

如果你用的是 Ubuntu 26.04 LTS,目前的内核还是 7.0(HWE 更新要等几个月),但 7.2 正式版一出来,Ubuntu 26.10 就会成为第一个默认搭载它的主流桌面发行版。到那时,这篇文章里提到的大多数「变化」,会直接变成你桌面体验的一部分。

不需要等到 10 月就可以开始期待。


💡 UbuntuNews | 资讯 · 工具 · 教程 · 社区
🐧 关注我们,获取更多 Ubuntu / Linux 技术干货
💬 加入 QQ 群 / 频道,与全国爱好者交流成长
❤️ 觉得有用?点个「在看」分享给更多人!

最新文章

随机文章