OK. Thanks. Marek On Fri, Aug 10, 2018 at 9:06 AM, Christian König <ckoenig.leichtzumerken at gmail.com> wrote: > Why should it? Adding the handle is now not more than setting an array > entry. > > I've tested with allocating 250k BOs of 4k size each and there wasn't any > measurable performance differences. > > Christian. > > > Am 09.08.2018 um 18:56 schrieb Marek Olšák: >> >> 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 > >