[PATCH v2 0/4] amdgpu: Allow explicitly synchronized submissions.
Tatsuyuki Ishi
ishitatsuyuki at gmail.com
Mon Aug 21 06:20:01 UTC 2023
This adds a context option to use DMA_RESV_USAGE_BOOKKEEP for userspace
submissions. This is a respin of [1] but rebased on top of the newly
introduced drm_exec helpers.
Disabling implicit sync is something we've wanted in RADV for a while
for resolving some corner cases. A more immediate thing that would be
solved here is avoiding a bunch of implicit sync on GPU map/unmap
operations as well, which helps with stutter around sparse maps/unmaps.
This has seen a significant improvement in stutter in Forza Horizon 5
and Forza Horizon 4. (As games that had significant issues in sparse
binding related stutter). I've been able to pass a full Vulkan CTS run
on Navi 10 with this.
(Note that the drm_exec patchset has introduced new CTS failures with
duplicate BOs, but we will be tracking that separately.)
Userspace code for this is available at [2] and a branch for the kernel
code is available at [3].
[1]: https://patchwork.freedesktop.org/series/107233/
[2]: https://gitlab.freedesktop.org/ishitatsuyuki/mesa/-/commits/single-sparse-queue-explicit-rebase
[3]: https://github.com/ishitatsuyuki/linux/tree/explicit-sync-drm-misc-next
Bas Nieuwenhuizen (4):
drm/amdgpu: Add separate mode for syncing DMA_RESV_USAGE_BOOKKEEP.
drm/amdgpu: Allow explicit sync for VM ops.
drm/amdgpu: Add option to disable implicit sync for a context.
drm/amdgpu: Bump amdgpu driver version.
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 18 +++++++----
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 30 +++++++++++++++++++
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 11 ++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 11 +++++--
drivers/gpu/drm/amd/amdgpu/amdgpu_sync.h | 4 +--
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 3 +-
include/uapi/drm/amdgpu_drm.h | 4 +++
12 files changed, 74 insertions(+), 19 deletions(-)
--
2.41.0
More information about the dri-devel
mailing list