[PATCH 0/6] Enable KFD to use render node BO mappings
Christian König
christian.koenig at amd.com
Thu Jan 12 07:18:07 UTC 2023
Am 12.01.23 um 02:31 schrieb Felix Kuehling:
> Rebased on latest amd-staging-drm-next. This is meant to be the final
> review of this series, assuming no more issues are found.
>
> This patch series enables KFD to interoperate more closely with DRM render
> nodes. ROCm user mode already uses DRM render nodes to create its GPU VM
> contexts and to CPU-map its GEM buffer objects. This patch series adds an
> API to let KFD export its BOs as DMABufs, so they can be imported into
> the DRM render nodes. This enables more flexible virtual memory mappings
> using DRM_IOCTL_AMDGPU_GEM_VA.
>
> Patches 1 and 2 deal with the exporting and importing of DMABufs.
>
> The remaining patches let KFD validate and update GPUVM mappings managed
> through render nodes.
>
> The user mode side of this patch series can be seen in libhsakmt and
> KFDTest where we improve integration with libdrm (initializing
> amdgpu_device instances) to enable DMABuf imports into the render nodes
> representing KFD GPU VM contexts. KFDTest is modified to test evictions
> and validations of BOs mapped through amdgpu_bo_va_op:
> https://github.com/fxkamd/ROCT-Thunk-Interface/commits/fxkamd/dmabuf
>
> As a consequence, applications using Mesa and ROCm in the same process on
> the same GPU will now share a single render node FD and GPUVM address
> space.
>
> The DMABuf export API will also be used later for upstream IPC and RDMA
> implementations.
Nice, I don't have time to check everything in detail but at least from
a high level skimming over this I can't see anything obvious wrong.
Feel free to add an Acked-by: Christian König <christian.koenig at amd.com>
to the series.
Christian.
>
> Felix Kuehling (6):
> drm/amdgpu: Generalize KFD dmabuf import
> drm/amdkfd: Implement DMA buf fd export from KFD
> drm/amdkfd: Improve amdgpu_vm_handle_moved
> drm/amdgpu: Attach eviction fence on alloc
> drm/amdgpu: update mappings not managed by KFD
> drm/amdgpu: Do bo_va ref counting for KFD BOs
>
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 2 +
> .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 196 ++++++++++++------
> drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 6 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 18 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 3 +-
> drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 55 +++++
> include/uapi/linux/kfd_ioctl.h | 14 +-
> 8 files changed, 219 insertions(+), 77 deletions(-)
>
More information about the dri-devel
mailing list