Intel已向Linux内核提交补丁,修复Linux 7.3中P核和E核混合架构的集群调度缺陷,该问题影响多代已出货处理器,包括Alder Lake、Lunar Lake和Panther Lake。
Linux从5.16版本(2021年)起引入集群调度功能,设计初衷是将计算负载在不同核心集群间均匀分配以提升能效和性能。这一机制在规格统一的服务器处理器上运行正常,但在Intel大小核混合架构上出了问题。
Intel内核开发者Ricardo Neri在7月20日提交的第六版补丁系列中直言不讳地指出,该机制在“已出货和即将发布的数代Intel处理器上均存在失败”。
问题主要出在负载分配的底层逻辑上,集群调度依赖的假设是多个处理器核心共享同一级缓存(通常是L2缓存),但在大小核混合拓扑中这一假设不再成立。
当系统部分负载运行、部分核心空闲时,大核心正确接收了超出小核心处理能力的任务,但剩余负载本应均匀分配到小核心集群上,实际却未能实现。多个独立缺陷相互叠加,阻塞了集群级别的负载均衡,Intel的新补丁系列正是针对这一环节。
Intel在三代不同架构上验证了修复效果,Alder Lake(第12代酷睿)采用P核带多线程加E核集群的组合,测试分别开启了和关闭了多线程。Lunar Lake和Panther Lake在L3缓存之外还挂了一组低功耗E核,拓扑更复杂。
作为对照,Neri还关闭集群选项重跑了全部测试,所有配置下调度器均按预期工作,Alder Lake受影响最大,且该架构自2021年底上市至今装机量最大。
不过Intel尚未公布任何基准测试结果,Phoronix表示将在新内核开发周期启动后自行测试,游戏基准测试更要等到下下个周期才会进入稳定内核。
此外补丁列表中虽然没有Raptor Lake和Arrow Lake,但补丁针对的是拓扑结构而非具体型号,所有Intel混合架构CPU都将受益。
补丁已进入TIP分支sched/core,基本确定会进入下一个合并窗口,Linus Torvalds在8月9日发布了Linux 7.2的第七个候选版本(RC7),正式版预计在8月16日或23日发布。此后才会开放新功能合并窗口,Linux 7.3正式版预计在10月底或11月初。
热门跟贴