Message ID | 20211110043149.57554-2-xinhui.pan@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/ttm: Put BO in its memory manager's lru list | expand |
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 || > + !bo->bdev->funcs->eviction_valuable(bo, place))) { > ret = false; > if (*locked) { > dma_resv_unlock(bo->base.resv);
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 || + !bo->bdev->funcs->eviction_valuable(bo, place))) { ret = false; if (*locked) { dma_resv_unlock(bo->base.resv);
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> --- drivers/gpu/drm/ttm/ttm_bo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)