A Dummy Wait Op Has Been Unnecessarily Slowing AMD Chips
If you’ve run into workloads on your AMD powered Linux box that are slower than expected, a fix is on the way to make your life better. There is an ancient workaround which used to be needed to ensure some chipsets had time for STPCLK# assertions, which dates back to 2002 when Linux first included ACPI support. This was accomplished with a dummy wait op that gave old chipsets, like those from VIA, enough time to properly finish operations before moving on.
The problem is that it hasn’t been necessary in quite some time, but it was never removed. This doesn’t have a huge effect on a small Ryzen system, however it also applies to EPYC processors. That means that even a small delay can add up when you deploy those chips at scale. The fix has just been merged into Linux 6.0 which means that Phoronix needs to get busy benchmarking.
You can read details about why this fix was necessary for AMD ACPI here, with benchmarks to follow soon.
AMD engineer K Prateek Nayak recently uncovered that a 20 year old chipset workaround in the Linux kernel still being applied to modern AMD systems is responsible in some cases for hurting performance on modern Zen hardware. Fortunately, a fix is on the way for limiting that workaround to old systems and in turn helping with performance for modern systems.