To fix regression report on gfx8, which requires the exhaustive search
path for signaled event.

The high CPU usage of KFD interrupt wq issus is gone after HIP/ROCr add
option to reduce HW event interrupts, safe to revert this optimization
patch now.

This reverts commit de844846f72b152119faaef1b363448dc8ea368f.
---
 drivers/gpu/drm/amd/amdkfd/kfd_events.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
index 82905f3e54dd..5a190dd6be4e 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
@@ -748,16 +748,6 @@ void kfd_signal_event_interrupt(u32 pasid, uint32_t 
partial_id,
                uint64_t *slots = page_slots(p->signal_page);
                uint32_t id;
 
-               /*
-                * If id is valid but slot is not signaled, GPU may signal the 
same event twice
-                * before driver have chance to process the first interrupt, 
then signal slot is
-                * auto-reset after set_event wakeup the user space, just drop 
the second event as
-                * the application only need wakeup once.
-                */
-               if ((valid_id_bits > 31 || (1U << valid_id_bits) >= 
KFD_SIGNAL_EVENT_LIMIT) &&
-                   partial_id < KFD_SIGNAL_EVENT_LIMIT && slots[partial_id] == 
UNSIGNALED_EVENT_SLOT)
-                       goto out_unlock;
-
                if (valid_id_bits)
                        pr_debug_ratelimited("Partial ID invalid: %u (%u valid 
bits)\n",
                                             partial_id, valid_id_bits);
@@ -786,7 +776,6 @@ void kfd_signal_event_interrupt(u32 pasid, uint32_t 
partial_id,
                }
        }
 
-out_unlock:
        rcu_read_unlock();
        kfd_unref_process(p);
 }
-- 
2.49.0

Reply via email to