drm/ttm: Add a bo list reserve fastpath (v2)
Makes it possible to reserve a list of buffer objects with a single spin lock / unlock if there is no contention. Should improve cpu usage on SMP kernels. v2: Initialize private list members on reserve and don't call ttm_bo_list_ref_sub() with zero put_count. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -41,7 +41,9 @@
|
||||
* @bo: refcounted buffer object pointer.
|
||||
* @new_sync_obj_arg: New sync_obj_arg for @bo, to be used once
|
||||
* adding a new sync object.
|
||||
* @reservied: Indicates whether @bo has been reserved for validation.
|
||||
* @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.
|
||||
*/
|
||||
|
||||
struct ttm_validate_buffer {
|
||||
@@ -49,6 +51,8 @@ struct ttm_validate_buffer {
|
||||
struct ttm_buffer_object *bo;
|
||||
void *new_sync_obj_arg;
|
||||
bool reserved;
|
||||
bool removed;
|
||||
int put_count;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user