diff options
| author | Thomas Hellström <thomas.hellstrom@linux.intel.com> | 2024-07-05 17:32:05 +0200 |
|---|---|---|
| committer | Christian König <christian.koenig@amd.com> | 2024-07-09 12:42:18 +0200 |
| commit | 3756310e9fe1e0182adac89cedaa98c0eea66675 (patch) | |
| tree | 4b14ad304bf31c1853cabffc1201af321c97dc94 /include?id=3756310e9fe1e0182adac89cedaa98c0eea66675 | |
| parent | 10efe34dae798c652053d4363871914c478f1475 (diff) | |
drm/ttm: Use the LRU walker for eviction
Use the LRU walker for eviction. This helps
removing a lot of code with weird locking
semantics.
The functionality is slightly changed so that
when trylocked buffer objects are exhausted, we
continue to interleave walks with ticket-locks while
there is still progress made. The list walks are
not restarted in-between evictions.
Also provide a separate ttm_bo_evict_first()
function for its single user. The context of that
user allows sleeping dma_resv locks.
v6:
- Various cleanups suggested by Matthew Brost.
- Fix error return code of ttm_bo_evict_first(). (Matthew Brost)
- Fix an error check that was inverted. (Matthew Brost)
v7:
- Use s64 rather than long (Christian König)
- Early ttm_resource_cursor_fini() in ttm_bo_evict_first().
- Simplify check for bo_moved in ttm_bo_evict_first().
(Christian König)
- Don't evict pinned bos.
Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com> #v6
Link: https://patchwork.freedesktop.org/patch/msgid/20240705153206.68526-8-thomas.hellstrom@linux.intel.com
Signed-off-by: Christian König <christian.koenig@amd.com>
Diffstat (limited to 'include?id=3756310e9fe1e0182adac89cedaa98c0eea66675')
0 files changed, 0 insertions, 0 deletions
