[PATCH 00/16] KFD interrupt and signal event handling improvements

Oded Gabbay oded.gabbay at gmail.com
Wed Oct 25 06:57:20 UTC 2017


On Sat, Oct 21, 2017 at 3:23 AM, Felix Kuehling <Felix.Kuehling at amd.com> wrote:
> 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.

Hi Felix,
I don't have enough data to say whether it is important in terms of
whether there are actual users out there.
I *can* say that the no.1 rule of the kernel is *never break userspace*

Even if I want to take the relevant patches, I can't really do it,
especially since you mentioned that there is a possible fix for it.

I know its a bit more work, but I suggest you add an additional patch
that supports the old thunk.

Thanks,
Oded

>
> 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 (8):
>   drm/amdkfd: Don't dereference kfd_process.mm
>   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
>
> 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          | 588 ++++++++++-------------
>  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            |  32 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_process.c         |   6 +-
>  include/uapi/linux/kfd_ioctl.h                   |   2 +-
>  10 files changed, 332 insertions(+), 415 deletions(-)
>
> --
> 2.7.4
>


More information about the amd-gfx mailing list