[PATCH 00/17] KFD interrupt and signal event handling improvements v2
Felix Kuehling
Felix.Kuehling at amd.com
Fri Oct 27 23:35:17 UTC 2017
This patch series improves interrupt handling latency, signal event
processing overhead and replaces some custom data structures with
standard kernel data structures (idr, kfifo, waitqueue).
It also increases the capacity of the number of signals that can be
processed from 256 to 4096. This breaks ancient versions of the Thunk
that support only 256 signal events. The current WIP-version on github
supports both sizes. If support for ancient Thunks is considered
important, this could be fixed by allowing mappings that are smaller
than 4096 signals, and limiting the number of signals per process
depending on the size of the mapped events page.
v2:
* Don't break ABI when changing KFD_SIGNAL_EVENT_LIMIT
* Integrated review feedback for "Use wait_queue_t to implement event waiting"
* Integrated review feedback for "Don't dereference kfd_process.mm"
Andres Rodriguez (4):
drm/amdkfd: use standard kernel kfifo for IH
drm/amdkfd: increase IH num entries to 8192
drm/amdkfd: wait only for IH work on IH exit
drm/amdkfd: use a high priority workqueue for IH work
Besar Wicaksono (1):
drm/amdkfd: Add SDMA trap src id to the KFD isr wanted list
Felix Kuehling (9):
drm/amdkfd: Don't dereference kfd_process.mm v2
drm/amdkfd: Clean up kfd_wait_on_events
drm/amdkfd: Fix event destruction with pending waiters
drm/amdkfd: remove redundant kfd_event_waiter.input_index
drm/amdkfd: Use wait_queue_t to implement event waiting
drm/amdkfd: Simplify events page allocator
drm/amdkfd: Simplify event ID and signal slot management
drm/amdkfd: Use IH context ID for signal lookup
drm/amdkfd: Make event limit dependent on user mode mapping size
Oded Gabbay (1):
drm/amdkfd: increase limit of signal events to 4096 per process
Sean Keely (2):
drm/amdkfd: Short cut for kfd_wait_on_events without waiting
drm/amdkfd: Fix scheduler race in kfd_wait_on_events sleep loop
drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c | 8 +-
drivers/gpu/drm/amd/amdkfd/cik_int.h | 3 +-
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 5 +-
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_events.c | 615 +++++++++++------------
drivers/gpu/drm/amd/amdkfd/kfd_events.h | 18 +-
drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 83 ++-
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 33 +-
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 1 -
include/uapi/linux/kfd_ioctl.h | 2 +-
10 files changed, 350 insertions(+), 420 deletions(-)
--
2.7.4
More information about the amd-gfx
mailing list