1. 07 Apr, 2022 1 commit
    • Felix Kuehling's avatar
      drm/amdkfd: Improve concurrency of event handling · 5273e82c
      Felix Kuehling authored
      Use rcu_read_lock to read p->event_idr concurrently with other readers
      and writers. Use p->event_mutex only for creating and destroying events
      and in kfd_wait_on_events.
      
      Protect the contents of the kfd_event structure with a per-event
      spinlock that can be taken inside the rcu_read_lock critical section.
      
      This eliminates contention of p->event_mutex in set_event, which tends
      to be on the critical path for dispatch latency even when busy waiting
      is used. It also eliminates lock contention in event interrupt handlers.
      Since the p->event_mutex is now used much less, the impact of requiring
      it in kfd_wait_on_events should also be much smaller.
      
      This should improve event handling latency for processes using multiple
      GPUs concurrently.
      
      v2: Reschedule the worker periodically to avoid soft lockup warnings
      Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
      Reviewed-by: Sean Keely <Sean.Keely@amd.com> # v1
      Tested-by: default avatarSanjay Tripathi <sanjay.tripathi@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      5273e82c
  2. 06 Apr, 2022 8 commits
  3. 05 Apr, 2022 20 commits
  4. 01 Apr, 2022 11 commits