良许Linux教程网 干货合集 AMD Linux系统被20年前的老旧芯片组变通方法困扰

AMD Linux系统被20年前的老旧芯片组变通方法困扰

AMD 工程师 K Prateek Nayak 最近发现,Linux 内核中一个已有 20 年历史的芯片组变通方法仍应用于现代 AMD 系统中,而其在某些情况下会损害现代 Zen 硬件的性能。

AMD 工程师 K Prateek Nayak 最近发现,Linux 内核中一个已有 20 年历史的芯片组变通方法仍应用于现代 AMD 系统中,而其在某些情况下会损害现代 Zen 硬件的性能。并提出了一个相关的补丁,旨在将这种变通方法限制在旧系统上,从而帮助提高现代系统的性能。

根据介绍,自从 2002 年将 ACPI 支持添加到 Linux 内核以来,就一直有一个 “dummy wait op” 来处理一些芯片组的 STPCLK# 没有被及时处理的问题。这个 dummy I/O read 会延迟进一步的指令处理,直到 CPU 完全停止。“至少在一些带有 VIA 芯片组的 AMD Athlon era systems 中,这是一个问题…… 但对于大约过去二十年的新芯片组来说,这不是问题”。

K Prateek Nayak 指出:

在 AMD Zen3 系统上使用 IBS 对某些工作负载进行采样表明,大量时间花费在 dummy op 中,这被错误地视为 C-State residency。较大的 C-State residency 值可以使 cpuidle governor 在随后的空闲实例期间推荐一个 deeper C-State,从而开始恶性循环,导致在繁忙和空闲阶段之间快速切换的工作负载的性能下降。

其中一个工作负载是 tbench,在某些运行期间可以观察到大量的性能下降。因此至少对于 Tbench 而言,Linux 内核中这种长期、无条件的变通方法一直在损害 AMD Ryzen / Threadripper / EPYC 在特定工作负载中的性能:

AMD Linux系统被20年前的老旧芯片组变通方法困扰AMD Linux系统被20年前的老旧芯片组变通方法困扰

不过其并未影响现代 Intel 系统,因为较新的 Intel 平台使用了基于 MWAIT 的 intel_idle 驱动程序代码路径来进行替代。

值得一提的是,Intel Linux 工程师 Dave Hansen 在 K Prateek Nayak 的补丁上进行进一步的简化。该补丁将不会应用这种 “dummy wait” 的解决方法,因此 AMD 系统将放弃这个会降低现代系统性能的操作。目前,这一补丁已作为 x86/urgent 修复的一部分被合并到 Linux 6.0 中。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部