作为 Linux 内核更改,以使 AMD CPU 受益于 Zen 1 并匹配英特尔自 Core 2 以来的行为,AMD 提交了一个补丁,让 Linux 内核在系统运行时使用 MWAIT 指令而不是 HALT ‘不要将 CPU 空闲驱动程序用于被 BIOS 禁用的 C 状态或驱动程序不是内核构建的一部分。反过来,这可以使受影响系统的退出延迟减少约 21%。
Monitor Wait“MWAIT”指令可用于电源管理,提示处理器在等待事件或 MONITOR 的存储操作完成时可以进入指定的目标 C 状态。MWAIT 的使用旨在比 HALT 指令更有效。
英特尔酷睿 2 及更高版本已经优先使用 MWAIT 而非 HALT 指令来进入 C1 状态,这就是 Linux 内核中的行为。尽管 AMD CPU 在此代码路径中继续使用 HALT 以解决诸如不使用 CPU 空闲驱动程序(由于被禁用或不是内核构建的一部分)或系统 BIOS 禁用 C 状态等情况,所以诚然有些小众。
AMD 本周提出的补丁现在切换到对所有用于 Zen 1 和更新版本以及 Hygon Dhyana 的 AMD Zen 处理器使用 MWAIT。在 AMD Zen 3(以及旧版 Zen 的类似结果)上,使用 MWAIT 而不是 HALT,发现退出延迟降低了约 21%。大多数用户会发现自己使用的是 CPU 空闲驱动程序,因此不受此补丁的影响,但对于那些不受影响的用户来说,此更改可能是有益的。作为“客户性能观察”的一部分,在探索未指定网络程序中的数据包丢失时,HALT 的高延迟显然已经出现在实际测试/使用中。
此 AMD 更改目前正在内核邮件列表中进行审核。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun147350.html