Am 2021-11-22 um 7:39 a.m. schrieb Christian König:
> Partially revert commit 5f319c5c21b5909abb43d8aadc92a8aa549ee443.
>
> First of all this is illegal use of RCU to call 
> dma_fence_enable_sw_signaling()
> since we don't hold a reference to the fence in question and can crash badly.
>
> Then the code doesn't seem to have the intended effect since only the
> exclusive fence is handled, but the KFD fences are always added as shared 
> fence.
>
> Only keep the handling to throw away the content of SVM BOs.
>
> Signed-off-by: Christian König <[email protected]>

Reviewed-by: Felix Kuehling <[email protected]>


> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 9 ---------
>  1 file changed, 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 30b7dde496fc..b9cd32d25bc0 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -113,17 +113,8 @@ static void amdgpu_evict_flags(struct ttm_buffer_object 
> *bo,
>  
>       abo = ttm_to_amdgpu_bo(bo);
>       if (abo->flags & AMDGPU_AMDKFD_CREATE_SVM_BO) {
> -             struct dma_fence *fence;
> -             struct dma_resv *resv = &bo->base._resv;
> -
> -             rcu_read_lock();
> -             fence = rcu_dereference(resv->fence_excl);
> -             if (fence && !fence->ops->signaled)
> -                     dma_fence_enable_sw_signaling(fence);
> -
>               placement->num_placement = 0;
>               placement->num_busy_placement = 0;
> -             rcu_read_unlock();
>               return;
>       }
>  

Reply via email to