Linux 7.3合并窗口开启:新增AMD低功耗核心支持,统一CPU核心类型处理

Linux 7.3还统一了CPU核心类型的处理机制,将厂商特定类型映射到通用CPU核心类型,从而减少不同厂商之间的处理差异。

Linux内核7.3版本的合并窗口已于8月17日正式开启。在首个开发周,x86架构和调度器迎来多项重要更新,包括为AMD即将推出的低功耗核心做准备、统一英特尔与AMD的CPU核心类型处理,以及针对老旧硬件游戏性能的调度器优化。

在x86/cpu相关代码中,Linux 7.3新增了AMD_CPU_TYPE_LOW_POWER类型,用于识别AMD即将推出的低功耗CPU核心。此前Linux只能将这类尚未识别的核心归为“未知”类型。同时,Linux 7.3统一了CPU核心类型的处理机制。此前英特尔和AMD分别使用厂商自有的核心类型编号,Linux现在会将这些厂商特定类型映射到通用CPU核心类型,从而减少不同厂商之间的处理差异。这一调整与此前Sashiko AI机器人发现的代码问题有关,该机器人注意到不同CPU厂商的核心类型编号存在差异,容易造成代码理解和处理上的混淆。

Linux 7.3的x86/core部分还合并了针对老旧AMD处理器的优化。对于支持SSE但不支持SSE2的AMD Athlon XP时代处理器,内核现在可以在写内存屏障代码中使用SFENCE指令。相关代码还加入了一项KCFI(内核控制流完整性)优化,以改善较老英特尔处理器上的相关处理。此外,内核将停止使用32位MSR(Model Specific Register)接口,转而统一采用64位接口,以进一步简化代码,32位MSR接口预计在Linux 7.4开发周期中正式移除。

在调度器方面,Linux 7.3合并了多项改进。其中一项重点工作针对老旧硬件上的游戏性能,由英特尔工程师Peter Zijlstra负责,测试平台采用英特尔Sandy Bridge处理器搭配AMD Radeon RX 580显卡。开发人员通过调整cgroup调度机制,改善了任务权重分配以及运行队列处理方式,这项工作被称为“flatten the pick”,旨在解决cgroup调度长期存在的调度行为问题,包括renice任务处理不当等情况。新机制提供up、max、concur和tasks等cgroup权重分配模式,默认使用concur模式以获得更精确的权重分配,同时将cgroup调度调整为单一运行队列。

Linux 7.3调度器还针对短时间片任务降低调度延迟,开发人员Vincent Guittot公布的cyclictest测试结果显示相关改动可以显著改善部分调度延迟指标。针对英特尔混合架构处理器,Linux 7.3修复了集群调度中因P核和E核性能差异导致的负载均衡问题,进一步改善了这类处理器上的集群负载均衡。此外,在NOHZ负载均衡过程中,Linux 7.3现在会优先选择完全空闲的CPU核心进行负载均衡,以进一步改善任务分配。NOHZ机制允许空闲CPU减少周期性时钟中断,从而降低不必要的功耗和处理开销。

该文观点仅代表作者本人,企服科学平台仅提供信息存储空间服务。

(0)
CISA确认Windows IKE严重漏洞已遭利用 攻击者无需认证即可远程执行代码
上一篇 3小时前
调查显示八成开发者认为AI编程工具“令人上瘾”而非高效
下一篇 2小时前

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部