From: Daniel Vetter <daniel.vetter@ffwll.ch> To: DRI Development <dri-devel@lists.freedesktop.org> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>, Intel Graphics Development <intel-gfx@lists.freedesktop.org> Subject: [PATCH 0/7] dma-resv fence DAG fixes Date: Tue, 6 Jul 2021 12:12:02 +0200 [thread overview] Message-ID: <20210706101209.3034092-1-daniel.vetter@ffwll.ch> (raw) Hi all, Finally I think I got them all in trying to audit all drivers for how they deal with dma-resv dependencies in their command submission ioctl. This series is incomplete, it also needs a few things from Christian - nouveau fix for waiting for all fences - various patches for fixing up dma-buf/resv functions to always wait for all fences (dma-buf poll, is_signalled, ...) - I do include the one msm patch from Christian here since there was another issue in msm that needed fixing, and to make sure we have the complete set for msm Two main things: - fix drivers that currently can break the DAG. I opted for the dumbest possible way and not for rolling out dma_fence_chain - this can be fixed later on if needed. - allow shared fences to be decoupled from the exclusive slot, which mostly means we can't skip waiting for the exclusive fence if there's shared fences present, we have to wait for all fences. This is a semantic change compared to what we've had thus far, but really makes a ton of sense given where things are heading towards. Note that this means the import/export patches from Jason need to be adjusted too to fit. Plus some docs for dma-resv, they've been rather lacking. Testing and review highly welcome. Christian König (1): drm/msm: always wait for the exclusive fence Daniel Vetter (6): drm/msm: Don't break exclusive fence ordering drm/etnaviv: Don't break exclusive fence ordering drm/i915: delete exclude argument from i915_sw_fence_await_reservation drm/i915: Always wait for the exclusive fence drm/i915: Don't break exclusive fence ordering dma-resv: Give the docs a do-over drivers/dma-buf/dma-resv.c | 22 +++- drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 8 +- drivers/gpu/drm/i915/display/intel_display.c | 4 +- drivers/gpu/drm/i915/gem/i915_gem_clflush.c | 2 +- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 8 +- drivers/gpu/drm/i915/i915_sw_fence.c | 10 +- drivers/gpu/drm/i915/i915_sw_fence.h | 1 - drivers/gpu/drm/msm/msm_gem.c | 16 ++- drivers/gpu/drm/msm/msm_gem_submit.c | 3 +- include/linux/dma-resv.h | 104 +++++++++++++++++- 10 files changed, 142 insertions(+), 36 deletions(-) -- 2.32.0
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel.vetter@ffwll.ch> To: DRI Development <dri-devel@lists.freedesktop.org> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>, Intel Graphics Development <intel-gfx@lists.freedesktop.org> Subject: [Intel-gfx] [PATCH 0/7] dma-resv fence DAG fixes Date: Tue, 6 Jul 2021 12:12:02 +0200 [thread overview] Message-ID: <20210706101209.3034092-1-daniel.vetter@ffwll.ch> (raw) Hi all, Finally I think I got them all in trying to audit all drivers for how they deal with dma-resv dependencies in their command submission ioctl. This series is incomplete, it also needs a few things from Christian - nouveau fix for waiting for all fences - various patches for fixing up dma-buf/resv functions to always wait for all fences (dma-buf poll, is_signalled, ...) - I do include the one msm patch from Christian here since there was another issue in msm that needed fixing, and to make sure we have the complete set for msm Two main things: - fix drivers that currently can break the DAG. I opted for the dumbest possible way and not for rolling out dma_fence_chain - this can be fixed later on if needed. - allow shared fences to be decoupled from the exclusive slot, which mostly means we can't skip waiting for the exclusive fence if there's shared fences present, we have to wait for all fences. This is a semantic change compared to what we've had thus far, but really makes a ton of sense given where things are heading towards. Note that this means the import/export patches from Jason need to be adjusted too to fit. Plus some docs for dma-resv, they've been rather lacking. Testing and review highly welcome. Christian König (1): drm/msm: always wait for the exclusive fence Daniel Vetter (6): drm/msm: Don't break exclusive fence ordering drm/etnaviv: Don't break exclusive fence ordering drm/i915: delete exclude argument from i915_sw_fence_await_reservation drm/i915: Always wait for the exclusive fence drm/i915: Don't break exclusive fence ordering dma-resv: Give the docs a do-over drivers/dma-buf/dma-resv.c | 22 +++- drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 8 +- drivers/gpu/drm/i915/display/intel_display.c | 4 +- drivers/gpu/drm/i915/gem/i915_gem_clflush.c | 2 +- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 8 +- drivers/gpu/drm/i915/i915_sw_fence.c | 10 +- drivers/gpu/drm/i915/i915_sw_fence.h | 1 - drivers/gpu/drm/msm/msm_gem.c | 16 ++- drivers/gpu/drm/msm/msm_gem_submit.c | 3 +- include/linux/dma-resv.h | 104 +++++++++++++++++- 10 files changed, 142 insertions(+), 36 deletions(-) -- 2.32.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next reply other threads:[~2021-07-06 10:12 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-06 10:12 Daniel Vetter [this message] 2021-07-06 10:12 ` [Intel-gfx] [PATCH 0/7] dma-resv fence DAG fixes Daniel Vetter 2021-07-06 10:12 ` [PATCH 1/7] drm/msm: Don't break exclusive fence ordering Daniel Vetter 2021-07-06 10:12 ` [Intel-gfx] " Daniel Vetter 2021-07-06 10:12 ` Daniel Vetter 2021-07-06 10:12 ` [PATCH 2/7] drm/msm: always wait for the exclusive fence Daniel Vetter 2021-07-06 10:12 ` [Intel-gfx] " Daniel Vetter 2021-07-06 10:12 ` Daniel Vetter 2021-07-06 10:12 ` [PATCH 3/7] drm/etnaviv: Don't break exclusive fence ordering Daniel Vetter 2021-07-06 10:12 ` [Intel-gfx] " Daniel Vetter 2021-07-07 8:54 ` Lucas Stach 2021-07-07 8:54 ` [Intel-gfx] " Lucas Stach 2021-07-07 11:37 ` Daniel Vetter 2021-07-07 11:37 ` [Intel-gfx] " Daniel Vetter 2021-07-07 12:31 ` Lucas Stach 2021-07-07 12:31 ` [Intel-gfx] " Lucas Stach 2021-07-07 12:59 ` Daniel Vetter 2021-07-07 12:59 ` [Intel-gfx] " Daniel Vetter 2021-07-06 10:12 ` [PATCH 4/7] drm/i915: delete exclude argument from i915_sw_fence_await_reservation Daniel Vetter 2021-07-06 10:12 ` [Intel-gfx] " Daniel Vetter 2021-07-06 10:12 ` [PATCH 5/7] drm/i915: Always wait for the exclusive fence Daniel Vetter 2021-07-06 10:12 ` [Intel-gfx] " Daniel Vetter 2021-07-06 12:47 ` Matthew Auld 2021-07-06 12:47 ` Matthew Auld 2021-07-06 12:58 ` Daniel Vetter 2021-07-06 12:58 ` Daniel Vetter 2021-07-06 10:12 ` [PATCH 6/7] drm/i915: Don't break exclusive fence ordering Daniel Vetter 2021-07-06 10:12 ` [Intel-gfx] " Daniel Vetter 2021-07-06 10:12 ` [PATCH 7/7] dma-resv: Give the docs a do-over Daniel Vetter 2021-07-06 10:12 ` [Intel-gfx] " Daniel Vetter 2021-07-06 10:12 ` Daniel Vetter 2021-07-06 12:34 ` [Intel-gfx] " Matthew Auld 2021-07-06 12:34 ` Matthew Auld 2021-07-06 12:34 ` Matthew Auld 2021-07-06 23:47 ` Jason Ekstrand 2021-07-06 23:47 ` [Intel-gfx] " Jason Ekstrand 2021-07-06 23:47 ` Jason Ekstrand 2021-07-07 8:06 ` [Linaro-mm-sig] " Christian König 2021-07-07 8:06 ` [Intel-gfx] " Christian König 2021-07-07 8:06 ` Christian König 2021-07-07 9:13 ` Daniel Vetter 2021-07-07 9:13 ` [Intel-gfx] " Daniel Vetter 2021-07-07 9:13 ` Daniel Vetter 2021-07-06 10:35 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for dma-resv fence DAG fixes Patchwork
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210706101209.3034092-1-daniel.vetter@ffwll.ch \ --to=daniel.vetter@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=intel-gfx@lists.freedesktop.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.