On 2025-11-13 09:37, Christian König wrote:
There is no need to enable-signaling (and trigger a preemption), if the
eviction fence has already signaled.
But when the evicted fence has already been signaled then enable_signaling is
not called in the first place:
if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags))
return false;
if (!was_set && fence->ops->enable_signaling) {
trace_dma_fence_enable_signal(fence);
if (!fence->ops->enable_signaling(fence)) {
...
So the extra check is actually completely superfluous as far as I can see.
Thanks. I agree.
Can I take that as reviewed-by you for this patch?
Yes.
Reviewed-by: Felix Kuehling <[email protected]>
Thanks,
Christian.
Regards,
Felix
Regards,
Christian.
Regards,
Felix
Regards,
Christian.
Regards,
Felix
Thanks,
Christian.
P.
Signed-off-by: Christian König <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
index 1ef758ac5076..09c919f72b6c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
@@ -120,12 +120,6 @@ static bool amdkfd_fence_enable_signaling(struct
dma_fence *f)
{
struct amdgpu_amdkfd_fence *fence =
to_amdgpu_amdkfd_fence(f);
- if (!fence)
- return false;
-
- if (dma_fence_is_signaled(f))
- return true;
-
if (!fence->svm_bo) {
if
(!kgd2kfd_schedule_evict_and_restore_process(fence->mm, f))
return true;