plug the VRAM leak in radeon driver

Ilija Hadzic ilijahadzic at gmail.com
Sat Nov 2 20:00:18 PDT 2013


The following patches will plug the VRAM leak that can be provoked in the
radeon driver by changing the mode. The mechanism that causes the leak is
described in the commit message associated with the first patch.

The way I have caused it (and tested the fix) was temporarily hack up debug
counters in radeon_bo_pin and radeon_bo_unpin functions. Then I connected
two monitor one of which had 1600x1200 for preferred mode, while the other
had preferred mode of the other monitor was 1280x720. Then I repetitively
unplugged and plugged back the 1600x1200 monitor and ran 'xrandr --auto'
between each plug/unplug operation. Without the fix, the number of pinned
buffers grew at each plug/unplug operation. With the fix, the counter
remained stable throughout the test.

Note that I only effectively tested the first patch, because I don't have any
GPUs that are old enough to use the legacy CRTC path in the driver. Still,
based on my findings for AtomBIOS GPUs, I believe that the second patch
is correct and necessary.

regards,

Ilija




More information about the dri-devel mailing list