为了度过一个激动人心的周一早晨,AMD Linux 工程师通过一个补丁系列开启了新的一周,引入了一个令人兴奋且期待已久的变化:默认情况下,对于 EPYC 服务器平台,使用 AMD P-State CPU 频率缩放驱动程序,而不是 ACPI CPUFreq 驱动程序。
自 Zen 2 以来,锐龙和 EPYC CPU 一直支持 ACPI CPPC(协同处理器性能控制),以允许更好地控制管理 AMD CPU 内核的性能/功耗状态。但直到 2021 年,适用于 Linux 的 AMD P-State 驱动程序才出现,与通用 ACPI CPUFreq Linux 驱动程序相比,它利用 ACPI CPPC 实现更好的 CPU 频率控制/电源管理。在 Linux 6.5 中,现代 Ryzen CPU 在支持的系统上使用 AMD P-State 成为默认设置,但 AMD EPYC 服务器处理器默认使用 ACPI CPUFreq 驱动程序……现在终于改变了。(除了 EPYC 4004 之外,由于它源自 Ryzen 部件,因此已经在 AMD P-State 上。
在任何最新的内核上,AMD P-State 驱动程序通常在 Zen 2 / 3 / 4 / 5 硬件上运行良好。古怪的主板也有一些例外,例如一些需要解决方法的 Threadripper Zen 2 主板等,但特别是对于 Zen 4 和现在的 Zen 5,AMD P-State Linux 驱动程序在 Ryzen 上运行良好,正如我在许多电源和性能基准测试中所展示的那样。
本周一早上,在 Linux 内核邮件列表中发布了两个补丁,用于开始默认使用 AMD P-State for EPYC 平台。但至少就目前而言,这种默认使用仅限于 Family 1Ah(EPYC 9005 系列)和未来的平台。早期的 AMD EPYC 服务器目前坚持使用 ACPI CPUFreq,至少目前有待进一步测试,或者 AMD 愿意在不给现有 AMD 服务器客户带来风险的情况下进行更改。
除了将 amd_pstate 默认为 EPYC 9005(系列 1Ah)的更改之外,另一个补丁用于防止在使用性能调节器时,具有 AMD P-State 活动模式的功率受限系统上出现频率限制。
对 EPYC 的 AMD P-State 进行默认更改的补丁指出:
“目前,所有 AMD EPYC 服务器的默认 cpufreq 驱动程序都是 acpi-cpufreq。今后,切换到 amd-pstate 作为 CPU 系列0x1A或更高版本的 AMD EPYC 服务器平台上的默认驱动程序。默认模式将为活动模式。
测试表明,具有主动模式和性能调节器的 amd-pstate 提供的每瓦性能与 acpi-cpufreq + 性能调节器相当或更好。
同样,对于各种工作负载,具有活动模式的 amd-pstate 和具有 energy_performance_preference=power (EPP=255) 的 powersave governor 可提供与 acpi-cpufreq + schedutil governor 相当或更好的每瓦性能。
用户仍然可以通过 “amd_pstate=disable” 内核命令行参数在这些平台上恢复为使用 acpi-cpufreq 驱动程序。
有关建议的更改,请参阅此补丁系列。很快,我将使用 ACPI CPUFreq 与 AMD P-State 为 EPYC Turin(可能还有 EPYC Genoa / Bergamo,以供参考和好奇)运行一些性能和每瓦性能基准测试。非常高兴看到这一变化成为现实,EPYC 默认切换到 AMD P-State,以便 EPYC 向前发展。希望审查过程会顺利进行,我们可能会看到这些补丁进入 Linux v6.13 周期。
转自 AMD Posts Linux Patches For EPYC To Further Enhance Performance-Per-Watt By Default – Phoronix