Linux 7.3 合并窗口新增 AMD 低功耗核心支持与调度器改进

Linux 7.3 版本合并窗口于 8 月 17 日开启,首个开发周内 x86 架构和调度器迎来多项更新,包括 AMD 低功耗核心类型识别、英特尔与 AMD 核心类型处理统一,以及老旧硬件游戏性能优化和调度延迟改进。

Linux 7.3 合并窗口新增 AMD 低功耗核心支持与调度器改进

x86/cpu 部分新增 AMD_CPU_TYPE_LOW_POWER 类型,用于识别 AMD 即将推出的低功耗 CPU 核心,此前这类核心会被归为“未知”类型。内核还将英特尔和 AMD 的厂商特定核心类型编号映射到通用 CPU 核心类型,减少不同厂商处理差异。该调整与 Sashiko AI 机器人发现的核心类型编号差异问题有关。x86/core 部分对支持 SSE 但不支持 SSE2 的 AMD Athlon XP 时代处理器加入 SFENCE 指令支持,并优化较老英特尔处理器上的 KCFI 处理。MSR 接口方面,Linux 7.3 停止使用 32 位接口,统一采用 64 位接口,32 位接口预计在 Linux 7.4 开发周期移除。

调度器方面,针对老旧硬件游戏性能的优化由英特尔工程师 Peter Zijlstra 负责,测试平台采用英特尔 Sandy Bridge 处理器搭配 AMD Radeon RX 580 显卡。开发人员通过调整 cgroup 调度机制,提供 up、max、concur、tasks 等权重分配模式,默认使用 concur,并将调度调整为单一运行队列。测试显示该机制在老旧平台游戏场景中有性能改善。短时间片任务调度延迟也有降低,Vincent Guittot 的 cyclictest 结果显示部分延迟指标改善。

对于英特尔混合架构处理器,修复了集群调度中因 P 核和 E 核非对称算力带来的问题,改善集群负载均衡。NOHZ 负载均衡时优先选择完全空闲的 CPU 核心,以减少时钟中断和功耗。