]> git.baikalelectronics.ru Git - kernel.git/commit
drm/ttm: Fix two race conditions + fix busy codepaths
authorThomas Hellstrom <thellstrom@vmware.com>
Thu, 30 Sep 2010 10:36:45 +0000 (12:36 +0200)
committerDave Airlie <airlied@redhat.com>
Tue, 5 Oct 2010 23:04:43 +0000 (09:04 +1000)
commitfe8162697310f4b96e8cdd28d393e5b049c3a7e6
tree3cbe04b79b00b0ba15fda1e60e2544f152741a0e
parentdddeb4c1c31089f034b66c412271ac4b3f7e1497
drm/ttm: Fix two race conditions + fix busy codepaths

This fixes a race pointed out by Dave Airlie where we don't take a buffer
object about to be destroyed off the LRU lists properly. It also fixes a rare
case where a buffer object could be destroyed in the middle of an
accelerated eviction.

The patch also adds a utility function that can be used to prematurely
release GPU memory space usage of an object waiting to be destroyed.
For example during eviction or swapout.

The above mentioned commit didn't queue the buffer on the delayed destroy
list under some rare circumstances. It also didn't completely honor the
remove_all parameter.

Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=615505
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=591061

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/ttm/ttm_bo.c
include/drm/ttm/ttm_bo_api.h