[PATCH v3 0/3] drm/amdgpu: Explicit sync for GEM VA operations
Christian König
christian.koenig at amd.com
Tue Feb 4 13:36:13 UTC 2025
Hi Friedrich,
adding Alex.
Am 04.02.25 um 13:32 schrieb Friedrich Vock:
> 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.
That is merged into amd-staging-drm-next for quite a while now, but we
only defined the interface and dropped all optimizations to initially
get it upstream.
@Alex IIRC we pushed the KFD part upstream already, but the userqueue
part is still waiting for the final firmware release, right?
Regards,
Christian.
>
> 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
>>>
>
More information about the amd-gfx
mailing list