@@ -1390,21 +1390,18 @@ int ttm_bo_init_reserved(struct ttm_bo_device *bdev,
WARN_ON(!locked);
}
- if (likely(!ret))
+ if (likely(!ret)) {
+ spin_lock(&bdev->glob->lru_lock);
+ ttm_bo_add_to_lru(bo);
+ spin_unlock(&bdev->glob->lru_lock);
ret = ttm_bo_validate(bo, placement, ctx);
+ }
if (unlikely(ret)) {
if (!resv)
ttm_bo_unreserve(bo);
ttm_bo_put(bo);
- return ret;
- }
-
- if (resv && !(bo->mem.placement & TTM_PL_FLAG_NO_EVICT)) {
- spin_lock(&bdev->glob->lru_lock);
- ttm_bo_add_to_lru(bo);
- spin_unlock(&bdev->glob->lru_lock);
}
return ret;
This way they are available for eviction immediately. Signed-off-by: Christian König <christian.koenig@amd.com> --- drivers/gpu/drm/ttm/ttm_bo.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)