Hi,
On 19.08.24 13:21, Christian König wrote:
Am 19.08.24 um 09:21 schrieb Friedrich Vock:
In Vulkan, it is the application's responsibility to perform adequate
synchronization before a sparse unmap, replace or BO destroy operation.
This adds an option to AMDGPU_VA_OPs to disable redundant implicit sync
that happens on sparse unmap or replace operations.
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).
Looks pretty good, I have Shashank and his team working on the similar
patches ever since Bas initially came up with it since we need it for
user queues as well.
Shashank can you take a look at the UAPI? Of hand looks pretty similar
to what we have done as well, doesn't it?
For the internal implementation in the VM I'm currently working on a bug
fix for the KFD team, so this is subject to change anyway. Going to keep
this requirement here in mind while doing that, whatever implementation
we end up with we probably need to re-base it anyway.
Bumping this again - it's been quite a while, what became of that KFD
bugfix and the userqueue stuff? It'd be nice to finally make progress
here, whether it's using the user queue interface you worked on or a
re-spin of this. Maybe it's possible to split this off from the rest of
the userqueue stuff and merge it beforehand if you're reasonably certain
about how the uapi should look? Let me know.
Thanks,
Friedrich
Regards,
Christian.
Userspace changes for this new version can be found at [1][2], and a
kernel
branch containing these patches can be found at [3].
[1] https://gitlab.freedesktop.org/pixelcluster/drm/-/commits/vm-
explicit-sync
[2] https://gitlab.freedesktop.org/pixelcluster/mesa/-/commits/vm-
explicit-sync
[3] https://gitlab.freedesktop.org/pixelcluster/linux/-/commits/
amdgpu-vm-explicit-sync
v3 changes:
- Rebased onto current amd-staging-drm-next
- Added option to wait for drm_syncobjs instead of executing immediately
Tatsuyuki Ishi (3):
drm/amdgpu: Don't implicit sync PRT maps.
drm/amdgpu: Add optional explicit sync fences for GEM operations.
drm/amdgpu: Bump amdgpu driver version.
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 76 ++++++++++++++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 23 +++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 6 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 68 +++++++++++------
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 30 ++++----
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c | 12 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 9 +++
drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 18 ++---
include/uapi/drm/amdgpu_drm.h | 7 ++
14 files changed, 194 insertions(+), 66 deletions(-)
--
2.46.0