[PATCH libdrm 6/6] amdgpu: always add all BOs to lockup table

Marek Olšák maraeo at gmail.com
Thu Aug 9 16:56:20 UTC 2018


I don't think this is a good idea. Can you please explain why this
won't cause performance regressions?

Thanks
Marek

On Fri, Aug 3, 2018 at 7:34 AM, Christian König
<ckoenig.leichtzumerken at gmail.com> wrote:
> This way we can always find a BO structure by its handle.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>  amdgpu/amdgpu_bo.c | 14 ++++----------
>  1 file changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/amdgpu/amdgpu_bo.c b/amdgpu/amdgpu_bo.c
> index 02592377..422c7c99 100644
> --- a/amdgpu/amdgpu_bo.c
> +++ b/amdgpu/amdgpu_bo.c
> @@ -87,6 +87,10 @@ int amdgpu_bo_alloc(amdgpu_device_handle dev,
>
>         bo->handle = args.out.handle;
>
> +       pthread_mutex_lock(&bo->dev->bo_table_mutex);
> +       r = handle_table_insert(&bo->dev->bo_handles, bo->handle, bo);
> +       pthread_mutex_unlock(&bo->dev->bo_table_mutex);
> +
>         pthread_mutex_init(&bo->cpu_access_mutex, NULL);
>
>         if (r)
> @@ -171,13 +175,6 @@ int amdgpu_bo_query_info(amdgpu_bo_handle bo,
>         return 0;
>  }
>
> -static void amdgpu_add_handle_to_table(amdgpu_bo_handle bo)
> -{
> -       pthread_mutex_lock(&bo->dev->bo_table_mutex);
> -       handle_table_insert(&bo->dev->bo_handles, bo->handle, bo);
> -       pthread_mutex_unlock(&bo->dev->bo_table_mutex);
> -}
> -
>  static int amdgpu_bo_export_flink(amdgpu_bo_handle bo)
>  {
>         struct drm_gem_flink flink;
> @@ -240,14 +237,11 @@ int amdgpu_bo_export(amdgpu_bo_handle bo,
>                 return 0;
>
>         case amdgpu_bo_handle_type_kms:
> -               amdgpu_add_handle_to_table(bo);
> -               /* fall through */
>         case amdgpu_bo_handle_type_kms_noimport:
>                 *shared_handle = bo->handle;
>                 return 0;
>
>         case amdgpu_bo_handle_type_dma_buf_fd:
> -               amdgpu_add_handle_to_table(bo);
>                 return drmPrimeHandleToFD(bo->dev->fd, bo->handle,
>                                           DRM_CLOEXEC | DRM_RDWR,
>                                           (int*)shared_handle);
> --
> 2.14.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list