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;

Reply via email to