Am 10.11.21 um 05:31 schrieb xinhui pan:
BO might sit in a wrong lru list as there is a small period of memory moving and lru list updating.
Lets skip eviction if we hit such mismatch.
Suggested-by: Christian König christian.koenig@amd.com Signed-off-by: xinhui pan xinhui.pan@amd.com
Reviewed-by: Christian König christian.koenig@amd.com for the series.
Going to add a CC: stable to the second patch and push it to drm-misc-fixes.
Thanks, Christian.
drivers/gpu/drm/ttm/ttm_bo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index e307004f0b28..0137a302f261 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -594,7 +594,8 @@ static bool ttm_bo_evict_swapout_allowable(struct ttm_buffer_object *bo, *busy = !ret; }
- if (ret && place && !bo->bdev->funcs->eviction_valuable(bo, place)) {
- if (ret && place && (bo->resource->mem_type != place->mem_type ||
ret = false; if (*locked) { dma_resv_unlock(bo->base.resv);!bo->bdev->funcs->eviction_valuable(bo, place))) {