Igalia这周发博客宣布Linux 7.2发布,开头一句话就在自夸:这是史上第二繁忙的开发周期,仅次于6.7。听起来是喜讯,但往下翻半页,你会看到一句轻描淡写的话——原计划成为新默认的DRM公平调度器,因为一个"最后时刻"的回归报告,最终还是以opt-in形式收场。
这句话说得太克制了。它背后是一场差点闹到桌面死锁的惊魂夜。
一个默认选项,在发布前一周被拿掉
Igalia这次最想推的功能,是给GPU任务调度加一套"fair"公平策略,替代用了很多年的FIFO先进先出。逻辑很直白:重负载任务不该把轻交互任务饿死,这跟CPU调度器从O(1)一路进化到CFS、EEVDF是同一个道理。
这套策略一度被设成了新默认。但在7.2-rc7这最后一周,有人报告了严重回归:在AMD RX 9070 XT这类显卡上,GPU接近满载跑游戏时,帧率会崩到约10FPS甚至整个卡死,音频还在继续播放,KDE Plasma Wayland桌面环境也可能跟着锁死。
这不是小打小闹的性能抖动,是用户会认为"系统坏了"级别的故障。默认策略连夜改回FIFO,fair只能以opt-in形式留在7.2里,等下个版本修复后再看能不能重新扶正。
能不能跑,永远排在公不公平前面
这才是这次发布真正值得琢磨的地方。内核团队不是不知道fair策略在理论上更优——它的设计者相信,在交互式负载下这套方案至少能打平甚至超过round-robin。但"理论上更优"碰上"可复现的桌面死锁",输的永远是前者。
调度理论再漂亮,也扛不住一次满载死机
这不是保守,是一种工程哲学:宁可推迟一次进步,也不背用户"升级完游戏变PPT"的锅。欲速则不达,放在内核发布流程里再合适不过。
- 提醒.fair策略目前只是opt-in,普通用户升级到7.2默认体验不到任何变化,想尝鲜需要手动开启,且官方修复效果还在早期测试阶段。
真新的,和旧瓶装新酒的
这次"第二繁忙"的忙,更多是fix堆出来的,不是颠覆式新功能堆出来的。把本周期几个高频出现的名词摆在一起看,成色差得很远。
cache-aware调度(CONFIG_SCHED_CACHE)是真正的新玩法,给现代多芯粒、多末级缓存的AMD、Intel机器用,尽量把共享数据的任务调到同一缓存域,这是CPU调度器难得的新增量。MGLRU的改进和多尺寸透明大页的自动化,则是已有机制的持续打磨,不是首次登场。sched_ext的子调度器和可观测性提升,属于基础设施类改动,普通用户如果没自己加载BPF自定义调度器,完全无感。
树莓派真省电,HDMI 2.1还差一半
本周期最实在的收益反而落在了树莓派上。V3D驱动之前的电源模型很粗暴:探测时打开GPU时钟,驱动生命周期内一直亮着。这次加上运行时电源管理后,空闲时时钟能降到接近0Hz,真正跑负载时才升到约960MHz。同时还修掉了一个困扰RetroPie用户多年的老bug——GPU在图块内存耗尽时会写脏别的任务的内存区,导致随机死机和崩溃。这类修复没有话题度,但对长年挂机的嵌入式和游戏模拟场景是真金白银的收益。
HDMI 2.1的进展就没这么干脆。AMD这次落地的只是FRL(固定速率链路)的初步支持,而且很可能需要通过启动参数手动开启,VRR默认没打开——因为在VRR没处理好的情况下贸然开FRL,容易引出新的功能性问题。换句话说,"走向完整HDMI 2.1"这句话目前只对愿意手动折腾的人成立。
- 建议.游戏党和用多芯粒AMD显卡的桌面用户,先别急着把7.2当日常内核,滚动发行版用户尤其该留一个旧内核做后备;树莓派用户,尤其是常年挂机跑RetroPie或家庭自动化的场景,这次可以放心升级。
忙,但忙得克制
Linux这几年的忙碌,更多体现在fix而不是feature上,这次也不例外。CPU、GPU、sched_ext三条线都在往更精细的调度走,但节奏出奇一致:先保证不炸,再谈更快更公平。fair调度器这次没能转正,不是坏消息,是内核对自己发布纪律的一次示范——宁可迟一个周期,也不肯把"可能死机"的锅甩给用户。
