drm/ttm: Improved fencing of buffer object lists

Drastically reduce the number of spin lock / unlock operations by performing
unreserving and fencing under global locks.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jerome Glisse <j.glisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Thomas Hellstrom 2010-11-17 12:28:30 +00:00 committed by Dave Airlie
parent 702adba224
commit 95762c2b34
4 changed files with 45 additions and 14 deletions

View file

@ -44,6 +44,7 @@
* @reserved: Indicates whether @bo has been reserved for validation.
* @removed: Indicates whether @bo has been removed from lru lists.
* @put_count: Number of outstanding references on bo::list_kref.
* @old_sync_obj: Pointer to a sync object about to be unreferenced
*/
struct ttm_validate_buffer {
@ -53,6 +54,7 @@ struct ttm_validate_buffer {
bool reserved;
bool removed;
int put_count;
void *old_sync_obj;
};
/**