昨天,我展示了 Linux 6.14 Git 在许多多线程工作负载中的性能比 Linux 6.13 和 6.12 差。由于最初是在唯一的 AMD EPYC Turin 2P 服务器上发现的,该服务器总是忙于为未来内容运行新的基准测试,而且由于 Web/广告行业的状况,我一直时间紧迫且不断承受压力,因此我没想到会在短期内抽出时间更深入地研究这个问题。但是,当我最终能够在办公桌上的 System76 Thelio Major 工作站上使用仍然强大的 Ryzen Threadripper 7980X 重现一些回归时,我能够快速一分为二。
昨天在 256 核/512 线程 Zen 5 服务器上观察到 Linux 6.14 Git 内核性能回归,与 6.13 和 6.12 稳定内核相比,各种多线程工作负载都出现了回归。感谢 System76 拥有 Thelio Major Ryzen Threadripper 工作站,用于使用带有四通道 DDR5 内存的 Threadripper 7980X 64 核 / 128 线程处理器进行测试,我决定在那里尝试 Linux 6.14。
果然,我能够在这台 Zen 4 Threadripper 工作站上重现一些相同工作负载的性能回归。在那里,它是一个快速而简单的一分为二,它不像 Zen 5 硬件那样需要其他文章/基准测试。
另一个 srsRAN 基准测试也在较小程度上再现了 6.14 的放缓。
我使用 srsRAN 5G 软件作为运行速度更快的测试用例,该案例还显示,在多线程模式下运行时,EPYC 9005 服务器的性能也显著下降。
该二等分指向 Linux 6.14 电源管理更新:
从那里开始,它可能是 AMD P-State 驱动程序的变化之一,它在 Linux 6.14 上引入了这种性能回归……毕竟,Linux 6.14 的电源管理拉动主要由 AMD P-State 更改主导,Zen 5 服务器和 Zen 4 工作站都在使用 amd_pstate 驱动程序。
正如昨天的文章中提到的,上周在另一台 EPYC 1P Turin 服务器上运行 Linux 6.14 Git 时,我没有看到这种回归。对于该 Supermicro Zen 5 服务器,它仍在使用 ACPI CPUFreq 驱动程序,因为 ACPI CPPC 没有得到适当的支持,无法使用 AMD P-State 驱动程序。因此,如果这种多线程性能回归是由于 amd_pstate 问题而发生的,那么它与这个 bisect 无关。
无论如何,这就是我目前所处的位置,对于那些开始测试 Linux 6.14 Git 并使用 amd_pstate 驱动程序的人来说,您可能需要特别注意多线程工作负载,以防止任何可能的性能回归……请参阅昨天的文章,了解我发现的更多回归基准。感谢 System76 和 Thelio Major,由 AMD Ryzen Threadripper 提供支持,用于快速进行内核分割。
转自 Bisecting The Linux 6.14 Performance Regression With System76 Thelio + AMD Threadripper – Phoronix