Linux 7.3 内核更新:AMD 低功耗核心来了,老电脑游戏也有救
技术笔记 3 次阅读

Linux 7.3 内核更新:AMD 低功耗核心来了,老电脑游戏也有救

Linux 7.3 内核更新:AMD 低功耗核心来了,老电脑游戏也有救

Linux 7.3 合并窗口开了,这次动了哪些地方?

8月17日,Linux 7.3 内核的合并窗口正式开启。头一个开发周,x86 架构和调度器就迎来了一大波更新,最显眼的是给 AMD 即将推出的低功耗核心提前铺路,顺便把英特尔和 AMD 两家的 CPU 核心类型处理方式给统一了。

AMD 低功耗核心:终于不用再当"未知"了

这次 x86/cpu 代码里新增了一个 AMD_CPU_TYPE_LOW_POWER 类型,专门用来识别 AMD 即将上市的低功耗 CPU 核心。以前碰到这种还没发布的核心,内核只能糊里糊涂归到"未知"一类,现在算是给了正式名分。

有意思的是,这个改动还跟一个叫 Sashiko 的 AI 机器人有关。它发现不同 CPU 厂商的核心类型编号各搞一套,代码读起来特别容易懵,于是推动了通用核心类型机制的建立。现在 Linux 会把厂商特定的编号统一映射成通用类型,处理逻辑干净了不少。

老电脑玩家有福了:游戏性能优化来了

调度器这块的动作也挺实在。有一组补丁专门针对老旧硬件上的游戏性能,由英特尔工程师 Peter Zijlstra 负责,测试平台用的是 Sandy Bridge 处理器配 AMD Radeon RX 580 显卡——都是十年前的老伙计了。通过调整 cgroup 调度机制,改善任务权重分配和运行队列处理,这个叫"flatten the pick"的活儿,主要解决 cgroup 调度长期存在的 renice 任务处理不当之类的问题。

新的机制提供了 up、max、concur、tasks 四种权重分配模式,默认用 concur,权重分配更精确,代价是处理开销稍高一点。另外 cgroup 调度还改成了单一运行队列,测试数据显示在老旧硬件上打游戏确实有性能改善。

还有一堆细节优化

短时间片任务的调度延迟也降了,Vincent Guittot 公布的 cyclictest 测试结果显示改善挺明显。针对英特尔混合架构处理器,修了集群调度里 P 核 E 核算力不对称的老问题,负载均衡更靠谱了。NOHZ 负载均衡现在会优先挑完全空闲的核心,省电又高效。

老 AMD 处理器也有照顾:支持 SSE 但不支持 SSE2 的 Athlon XP 时代产品,写内存屏障时可以用 SFENCE 指令了。KCFI(内核控制流完整性)也加了优化,老英特尔处理器受益。MSR 接口则全面转向 64 位,32 位接口预计在 7.4 开发周期里正式移除。

说人话总结

这一版内核的改动方向很明确:新硬件提前支持、老硬件别丢下、调度更聪明。对普通用户来说,最直观的感受可能是老电脑上玩游戏更顺了,混合架构笔记本的续航和响应更好了。等 7.3 正式版发布,升级一波不亏。

分享

评论 (0)

评论通过后显示

暂无评论,来写第一条吧 ✍️