[PATCH] drm/amdgpu: Reserve space for shared fence

Kuehling, Felix Felix.Kuehling at amd.com
Wed Jun 12 18:11:16 UTC 2019


On 2019-06-11 9:20, Zeng, Oak wrote:
> Call reservation_object_reserve_shared to reserve
> space for shared fence. Otherwise it will trigger
> BUG_ON condition in reservation_object_add_shared_fence.
>
> Change-Id: Ib0fae16247e33ee68f95bffa723451c0cd619344
> Signed-off-by: Oak Zeng <Oak.Zeng at amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> index 81e0e75..74e8695 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> @@ -2152,12 +2152,16 @@ int amdgpu_amdkfd_add_gws_to_process(void *info, void *gws, struct kgd_mem **mem
>   	 * Add process eviction fence to bo so they can
>   	 * evict each other.
>   	 */
> +	ret = reservation_object_reserve_shared(gws_bo->tbo.resv, 1);
> +	if (ret)
> +		goto reserve_shared_fail;
>   	amdgpu_bo_fence(gws_bo, &process_info->eviction_fence->base, true);
>   	amdgpu_bo_unreserve(gws_bo);
>   	mutex_unlock(&(*mem)->process_info->lock);
>   
>   	return ret;
>   
> +reserve_shared_fail:
>   bo_validation_failure:
>   	amdgpu_bo_unreserve(gws_bo);
>   bo_reservation_failure:


More information about the amd-gfx mailing list