[PATCH libdrm 2/2] amdgpu: don't track handles for non-memory allocations

Zhang, Jerry(Junwei) Jerry.Zhang at amd.com
Wed Oct 24 02:41:15 UTC 2018


On 10/24/18 3:07 AM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>

commit log and sign-off here as well.
And any reason for that?

Regards,
Jerry

>
> ---
>   amdgpu/amdgpu_bo.c | 15 +++++++++------
>   1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/amdgpu/amdgpu_bo.c b/amdgpu/amdgpu_bo.c
> index 81f8a5f7..00b9b54a 100644
> --- a/amdgpu/amdgpu_bo.c
> +++ b/amdgpu/amdgpu_bo.c
> @@ -91,26 +91,29 @@ drm_public int amdgpu_bo_alloc(amdgpu_device_handle dev,
>   	if (r)
>   		goto out;
>   
>   	r = amdgpu_bo_create(dev, alloc_buffer->alloc_size, args.out.handle,
>   			     buf_handle);
>   	if (r) {
>   		amdgpu_close_kms_handle(dev, args.out.handle);
>   		goto out;
>   	}
>   
> -	pthread_mutex_lock(&dev->bo_table_mutex);
> -	r = handle_table_insert(&dev->bo_handles, (*buf_handle)->handle,
> -				*buf_handle);
> -	pthread_mutex_unlock(&dev->bo_table_mutex);
> -	if (r)
> -		amdgpu_bo_free(*buf_handle);
> +	if (alloc_buffer->preferred_heap &
> +	    (AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GTT)) {
> +		pthread_mutex_lock(&dev->bo_table_mutex);
> +		r = handle_table_insert(&dev->bo_handles, (*buf_handle)->handle,
> +					*buf_handle);
> +		pthread_mutex_unlock(&dev->bo_table_mutex);
> +		if (r)
> +			amdgpu_bo_free(*buf_handle);
> +	}
>   out:
>   	return r;
>   }
>   
>   drm_public int amdgpu_bo_set_metadata(amdgpu_bo_handle bo,
>   				      struct amdgpu_bo_metadata *info)
>   {
>   	struct drm_amdgpu_gem_metadata args = {};
>   
>   	args.handle = bo->handle;



More information about the amd-gfx mailing list