[PATCH 00/34] Add HMM-based SVM memory manager to KFD v3
Felix Kuehling
Felix.Kuehling at amd.com
Thu Apr 1 04:21:54 UTC 2021
Since the last patch series on March 22, I integrated all fixes into
the original patch series. An additonal fix was added for handling
failed migrations during GPU page faults. (A bigger rework of
migrations and VRAM mappings will come in the future.) Support for
per-process XNACK mode selecation was added for Aldebaran. The
initialization of svm_migrate was moved to happend before
kfd_topology_add_device in order to fix reporting of the
SVMAPI_SUPPORTED capability. An updated kfdtest now checks this
capability before running any SVM tests.
Support for SVM can now be controlled by a Kconfig option added in
patch 34.
This series and the corresponding ROCm Thunk and KFDTest changes are also
available on gitub:
https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/tree/fxkamd/hmm-wip
https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/tree/fxkamd/hmm-wip
Alex Sierra (9):
drm/amdkfd: helper to convert gpu id and idx
drm/amdkfd: add xnack enabled flag to kfd_process
drm/amdkfd: add ioctl to configure and query xnack retries
drm/amdgpu: enable 48-bit IH timestamp counter
drm/amdkfd: SVM API call to restore page tables
drm/amdkfd: add svm_bo reference for eviction fence
drm/amdgpu: add param bit flag to create SVM BOs
drm/amdgpu: svm bo enable_signal call condition
drm/amdgpu: add svm_bo eviction to enable_signal cb
Felix Kuehling (13):
drm/amdkfd: map svm range to GPUs
drm/amdkfd: svm range eviction and restore
drm/amdgpu: Enable retry faults unconditionally on Aldebaran
drm/amdkfd: validate vram svm range from TTM
drm/amdkfd: HMM migrate ram to vram
drm/amdkfd: HMM migrate vram to ram
drm/amdkfd: invalidate tables on page retry fault
drm/amdkfd: page table restore through svm API
drm/amdkfd: add svm_bo eviction mechanism support
drm/amdkfd: refine migration policy with xnack on
drm/amdkfd: add svm range validate timestamp
drm/amdkfd: multiple gpu migrate vram to vram
drm/amdkfd: Add CONFIG_HSA_AMD_SVM
Philip Yang (12):
drm/amdkfd: add svm ioctl API
drm/amdkfd: register svm range
drm/amdkfd: add svm ioctl GET_ATTR op
drm/amdgpu: add common HMM get pages function
drm/amdkfd: validate svm range system memory
drm/amdkfd: deregister svm range
drm/amdgpu: export vm update mapping interface
drm/amdkfd: register HMM device private zone
drm/amdkfd: support xgmi same hive mapping
drm/amdkfd: copy memory through gart table
drm/amdgpu: reserve fence slot to update page table
drm/amdkfd: Add SVM API support capability bits
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 4 +-
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c | 16 +-
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 13 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c | 83 +
drivers/gpu/drm/amd/amdgpu/amdgpu_mn.h | 7 +
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 4 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 90 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 48 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 11 +
drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c | 8 +-
drivers/gpu/drm/amd/amdgpu/mmhub_v1_7.c | 6 +-
drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 1 +
drivers/gpu/drm/amd/amdkfd/Kconfig | 14 +
drivers/gpu/drm/amd/amdkfd/Makefile | 5 +
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 64 +
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 4 +
.../amd/amdkfd/kfd_device_queue_manager_v9.c | 13 +-
drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 4 +
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 922 ++++++
drivers/gpu/drm/amd/amdkfd/kfd_migrate.h | 64 +
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 36 +
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 82 +
drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 2866 +++++++++++++++++
drivers/gpu/drm/amd/amdkfd/kfd_svm.h | 205 ++
drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 6 +
drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 10 +-
include/uapi/linux/kfd_ioctl.h | 171 +-
28 files changed, 4652 insertions(+), 108 deletions(-)
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_migrate.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_svm.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_svm.h
--
2.31.1
More information about the amd-gfx
mailing list