AMD Linux Driver's LRU Bulk Moves Can Be A Big Help For Demanding Linux Games
As written about last week, there's been some signs of soon re-enabling the performance-boosting "bulk moves" functionality. The LRU bulk moves functionality was disabled in the AMDGPU driver back during Linux 4.20 but since Linux 5.1 it's believed all the bugs have been ironed out for this functionality to migrate PD/PT buffers to the least recently used list in a bulk operation.
Re-enabling that support (reverting the patch that disabled the LRU bulk moves) hasn't yet appeared in DRM-Next nor any of the "work in progress" AMDGPU trees either for Linux 5.4 as a fix or Linux 5.5 as new material. It's been known that LRU bulk moves should help the AMDGPU performance and there is more confirmation of that now thanks to Valve's Pierre-Loup A. Griffais of their Linux team.
With Shadow of the Tomb Raider while running with a Ryzen 9 3900X and Vega 20 graphics, with high quality settings for the game he found it currently took 1.1 ms per frame in the command submission time. But more striking is the Polaris 10 + Core i7 7820X test run with very high settings for Shadow of the Tomb Raider. In that more demanding Steam Play game, the command submission time is currently 12.03ms per frame for command submission but with LRU bulks moves it drops to just 1.35ms per frame.
The LRU bulk moves appears to address high submit times that Valve developers have been seeing with the AMDGPU driver and various graphically demanding games. Pierre-Loup did note though that with 1.35ms per frame for AMDGPU command submission the time is still higher than they would expect, but at least more reasonable than upwards of 12ms per frame. As for how the submission time correlates to the gaming performance experienced by the user, it can become noticeable when the CPU is otherwise busy / starved for resources from increasingly demanding Windows games running nicely under Steam Play on Linux.
Hopefully this LRU bulk moves functionality can make it into Linux 5.4 as a "fix" otherwise it won't be until early 2020 when Linux 5.5 rolls out as stable to see this enabled by default. But at least it does appear the current DKMS packaged Radeon Software for Linux driver does have LRU bulk moves enabled if you happen to use that driver on supported Linux distributions.