尽管AMD Zen 4处理器——无论是Ryzen 7000/8000台式机/移动系列还是EPYC 8004/9004系列服务器处理器——在Linux上已经表现得很好,并且在与竞争对手的竞争中具有很高的功率效率,正如Phoronix在这一点上的数十篇文章所示,但事实证明,在Linux下,选择Zen 4的处理器还有一个小的功率/性能优化尚未开发。本周日发布的一个新补丁系列允许在支持的处理器上使用这种“快速CPPC”功能。
AMD P状态CPU频率缩放驱动程序利用ACPI协作处理器性能控制(CPPC)数据来描述每个CPU的性能缩放和属性,进而请求所需性能级别的内核。一些AMD处理器从目前的Zen 4机型开始,就有了“快速CPPC”的概念。当由CPU位指示时,快速CPPC功能允许更快的CPPC循环,这得益于架构增强。反过来,利用AMD Fast CPPC可以在相同的功率水平下获得更高的性能。
检测AMD Fast CPPC需要检查特定的位,看看是否支持它。我还没有看到任何关于当前Zen 4处理器支持Fast CPPC的公开列表,但考虑到内核补丁的评论,至少可以在Ryzen 7 7840HS等Phoenix APU中找到。
发布的内核补丁允许在支持快速CPPC的系统上将CPU频率转换延迟从1000 us降低到600 us。反过来,根据工作负载的不同,这通常会使性能提高0~2%。在每瓦性能的基础上,一些工作负载可以提高6%。
总的来说,AMD Fast CPPC功能似乎是一个相对适度的优化,但它再次用于进一步增强Linux上已经很好的Zen 4性能。任何性能和电源效率的提高都是值得赞赏的,尽管直到现在才看到Linux内核出现这种“快速CPPC”支持有点令人惊讶。至少它可能已经为即将推出的AMD Zen 5处理器做好了准备。
This patch series is where the AMD Fast CPPC support is currently out for review before being mainlined in the upstream Linux kernel hopefully in the near-term for further enhancing Zen 4’s performance and efficiency prowess.