Intel终于向Linux内核提交了针对P核与E核混合架构集群调度缺陷的修复补丁,这意味着从第12代酷睿以来,你的CPU可能从未真正”满载”运行的尴尬局面即将迎来终结。
硬件的”异构之痛”:集群调度的根基从一开始就错了
要理解这个补丁的分量,得先回溯到Linux 5.16版本引入的集群调度机制。当时内核团队的设计思路很清晰:当CPU的多个核心共享同一级缓存(通常是L2)时,把计算负载在这些核心组成的集群间均匀分配,既能提升能效,也能压榨出更强的多核性能。这个机制在核心规格统一的服务器处理器上确实运转得行云流水,但当Intel在2021年底推出Alder Lake,把性能核(P核)与能效核(E核)塞进同一颗芯片后,一切预设都被彻底打破了。
问题的根源在于,集群调度隐含着一个前提——集群内的核心共享同一级缓存。但在Intel的大小核混合拓扑中,P核与E核各自拥有独立的缓存的层级和归属关系,L2共享的假设在异构集群里完全不成立。Intel内核开发者Ricardo Neri在补丁说明中直言不讳地承认,这个调度机制在”已出货和即将发布的数代Intel处理器上均存在失败”。换句话说,从第12代酷睿到如今即将登场的Panther Lake,这四年间的Intel用户,可能一直在为一个错误的调度假设买单。
一代修复全系受益:Alder Lake用户才是最该期待的那批人
补丁的修复思路并不复杂,但工作量堪称繁琐。当系统部分核心负载已满、部分核心仍空闲时,调度器理应将剩余任务均匀分配到小核心集群上,然而多个独立的缺陷相互叠加,直接阻塞了集群级别的负载均衡。Ricardo Neri的新补丁系列正是针对这些阻塞点逐一击破,并且跨越Alder Lake、Lunar Lake和Panther Lake三代不同架构验证了修复效果。值得注意的是,Alder Lake是受影响最严重的平台——毕竟这套架构自2021年底上市至今,保有量依然庞大,而且它的P核开启多线程与关闭多线程的测试场景,调度表现差异极大。
更让人玩味的是,补丁列表中虽然没出现Raptor Lake和Arrow Lake的名字,但这颗修复是针对拓扑结构而非具体型号,凡是Intel混合架构CPU理论上都能从中获益。只是目前Intel尚未公布任何基准测试结果,Phoronix也要等到新内核开发周期启动后才自行验证,游戏性能的实测数据更是要等到后续稳定内核版本才会见真章。补丁已经进入TIP分支的sched/core,Linus Torvalds在8月9日发布了Linux 7.2的RC7,Linux 7.3正式版预计在10月底或11月初落地。
说到底,这次修复真正的价值不仅仅在于性能回调,更在于它承认了Intel异构架构在系统软件层面并未完全打磨成熟。对于装机量巨大的Alder Lake用户来说,这次补丁无异于一次”迟到的唤醒”——你的CPU不是没实力,只是一直被调度缺陷摁住了上限。至于究竟能释放多少性能,等Linux 7.3正式版出来,跑一把分就见分晓了。
— END —
萌头条编辑部原创发布 · 转载请注明出处
