[PATCH v9 0/3] dma-fence: Deadline awareness (uabi edition)

Rob Clark robdclark at gmail.com
Wed Aug 23 21:54:53 UTC 2023


From: Rob Clark <robdclark at chromium.org>

This is a re-post of the remaining patches from:
https://patchwork.freedesktop.org/series/114490/

Part of the hold-up of the remaining uabi patches was compositor
support, but now an MR for kwin exists:

  https://invent.kde.org/plasma/kwin/-/merge_requests/4358

The syncobj userspace is:

  https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21973

v1: https://patchwork.freedesktop.org/series/93035/
v2: Move filtering out of later deadlines to fence implementation
    to avoid increasing the size of dma_fence
v3: Add support in fence-array and fence-chain; Add some uabi to
    support igt tests and userspace compositors.
v4: Rebase, address various comments, and add syncobj deadline
    support, and sync_file EPOLLPRI based on experience with perf/
    freq issues with clvk compute workloads on i915 (anv)
v5: Clarify that this is a hint as opposed to a more hard deadline
    guarantee, switch to using u64 ns values in UABI (still absolute
    CLOCK_MONOTONIC values), drop syncobj related cap and driver
    feature flag in favor of allowing count_handles==0 for probing
    kernel support.
v6: Re-work vblank helper to calculate time of _start_ of vblank,
    and work correctly if the last vblank event was more than a
    frame ago.  Add (mostly unrelated) drm/msm patch which also
    uses the vblank helper.  Use dma_fence_chain_contained().  More
    verbose syncobj UABI comments.  Drop DMA_FENCE_FLAG_HAS_DEADLINE_BIT.
v7: Fix kbuild complaints about vblank helper.  Add more docs.
v8: Add patch to surface sync_file UAPI, and more docs updates.
v9: Repost the remaining patches that expose new uabi to userspace.

Rob Clark (3):
  drm/syncobj: Add deadline support for syncobj waits
  dma-buf/sync_file: Add SET_DEADLINE ioctl
  dma-buf/sw_sync: Add fence deadline support

 drivers/dma-buf/dma-fence.c    |  3 +-
 drivers/dma-buf/sw_sync.c      | 82 ++++++++++++++++++++++++++++++++++
 drivers/dma-buf/sync_debug.h   |  2 +
 drivers/dma-buf/sync_file.c    | 19 ++++++++
 drivers/gpu/drm/drm_syncobj.c  | 64 ++++++++++++++++++++------
 include/uapi/drm/drm.h         | 17 +++++++
 include/uapi/linux/sync_file.h | 22 +++++++++
 7 files changed, 195 insertions(+), 14 deletions(-)

-- 
2.41.0



More information about the dri-devel mailing list