I don't see anything wrong with it
Reviewed-by: Faith Ekstrand <faith.ekstrand@xxxxxxxxxxxxx>
However, I'm not an AMDGPU developer so you probably want someone who knows the amdgpu sync stuff to review as well.
On Wed, Aug 7, 2024 at 8:09 PM Bas Nieuwenhuizen <bas@xxxxxxxxxxxxxxxxxxx> wrote:
For the rationale see the earlier RFC by Faith: https://lists.freedesktop.org/archives/amd-gfx/2024-August/112273.html
This mainly makes two changes:
1. Uses a submission flag rather than a context creation flag.
2. Uses DMA_RESV_USAGE_BOOKKEEP to avoid adding implicit fences still.
Note that this doesn't disable implicit sync wrt VM ops (map/unmap), I know we have series for that going around,
but I believe doing just submissions here is less involved and doesn't really complicate doing VM ops later.
As of now this has received a limited set of testing, no full CTS runs etc yet.
For Userspace see:
libdrm: https://gitlab.freedesktop.org/bnieuwenhuizen/drm/-/commits/basic-explicit-sync
mesa: https://gitlab.freedesktop.org/bnieuwenhuizen/mesa/-/commits/basic-explicit-sync
If you want to throws in MRs, I'll review them as well. That can be a "real" review.
Also, Michel is working on trying to reproduce the original Mesa issue so we can verify the end result.
~Faith
(Still missing a bunch of the version bumps & version checks, would like to postpone that till we know the actual version)
Bas Nieuwenhuizen (6):
amdgpu: Add usage argument to amdgpu_sync_resv.
amdgpu: Ignore BOOKKEEP fences for submissions.
drm/amdgpu: Check cs flags.
drm/amdgpu: Add UAPI for disabling implicit sync per submission.
drm/amdgpu: Implement disabling implicit sync per submission.
drm/amdgpu: Bump the driver version for the new flag.
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 21 ++++++++++++++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.h | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 7 +++----
drivers/gpu/drm/amd/amdgpu/amdgpu_sync.h | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 3 ++-
include/uapi/drm/amdgpu_drm.h | 6 ++++++
9 files changed, 37 insertions(+), 12 deletions(-)
--
2.45.2