Radeon SDMA Support Is Deemed Too Buggy That It's Dropped From Open-Source Driver
Written by Michael Larabel in Radeon on 9 December 2020 at 04:57 AM EST. 19 Comments
RADEON --
There have been many workarounds and changes to the SDMA (System DMA) copy support within the RadeonSI Gallium3D driver since the support was introduced years ago, but it's now been outright removed due to too many generations of AMD Radeon hardware having issues with it enabled.

The SDMA support with Radeon GPUs appears to be in bad enough shape that at least for the open-source "RadeonSI" Gallium3D driver it's better off disabling the support code than trying to deal with the workarounds. We have seen cases of disabling SDMA for GFX9/Vega due to APU issues, disabling SDMA on Polaris due to corruption bugs, and breaking problems on much older hardware too. But even with the new Radeon RX 6000 "RDNA 2" hardware, problems apparently still persist.

With this merge request that is now merged into Mesa 21.0, the SDMA support path is stripped out from the RadeonSI Gallium3D driver. There should be no performance penalties though expected from this change.

The commit removing the SDMA code mentions, "There are many issues with SDMA across many generations of hardware. A recent example is that gfx10.3 [RDNA 2] suffers from random GPU hangs if userspace uses SDMA."
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Popular News This Week