No, as I wrote in the comment that is not an error and should just be
ignored.
Regards,
Christian.
Am 23.02.22 um 16:18 schrieb Chen, Guchun:
[Public]
Shall we add a print to aware user when failing to install a new ctx
entity?
Regards,
Guchun
*From:* amd-gfx <[email protected]> *On Behalf Of
*Deucher, Alexander
*Sent:* Wednesday, February 23, 2022 11:06 PM
*To:* Christian König <[email protected]>;
[email protected]
*Cc:* Koenig, Christian <[email protected]>; Xue, Ken
<[email protected]>
*Subject:* Re: [PATCH] drm/amdgpu: install ctx entities with cmpxchg
[Public]
[Public]
Acked-by: Alex Deucher <[email protected]>
------------------------------------------------------------------------
*From:*amd-gfx <[email protected]> on behalf of
Christian König <[email protected]>
*Sent:* Wednesday, February 23, 2022 8:38 AM
*To:* [email protected] <[email protected]>
*Cc:* Koenig, Christian <[email protected]>; Xue, Ken
<[email protected]>
*Subject:* [PATCH] drm/amdgpu: install ctx entities with cmpxchg
Since we removed the context lock we need to make sure that not two
threads
are trying to install an entity at the same time.
Signed-off-by: Christian König <[email protected]>
Fixes: e68efb27647f ("drm/amdgpu: remove ctx->lock")
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
index f522b52725e4..16eb1ee600ed 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
@@ -204,9 +204,15 @@ static int amdgpu_ctx_init_entity(struct
amdgpu_ctx *ctx, u32 hw_ip,
if (r)
goto error_free_entity;
- ctx->entities[hw_ip][ring] = entity;
+ /* It's not an error if we fail to install the new entity */
+ if (cmpxchg(&ctx->entities[hw_ip][ring], NULL, entity))
+ goto cleanup_entity;
+
return 0;
+cleanup_entity:
+ drm_sched_entity_fini(&entity->entity);
+
error_free_entity:
kfree(entity);
--
2.25.1