On 2024-07-18 17:05, Philip Yang wrote: > This patch series do additional queue buffers validation in the queue > creation IOCTLS, fail the queue creation if buffers not mapped on the GPU > with the expected size. > > Ensure queue buffers residency by tracking the GPUVM virtual addresses > for queue buffers to return error if the user tries to free and unmap them > when the qeueu is active, or evict the queue if SVM memory is unmapped and > freed from CPU. > > Patch 1-2 is prepration work and general fix. > > v2: > - patch 3/9, keep wptr_bo_gart in struct queue The series is Reviewed-by: Felix Kuehling <felix.kuehling@xxxxxxx> > > Philip Yang (9): > drm/amdkfd: kfd_bo_mapped_dev support partition > drm/amdkfd: amdkfd_free_gtt_mem clear the correct pointer > drm/amdkfd: Refactor queue wptr_bo GART mapping > drm/amdkfd: Validate user queue buffers > drm/amdkfd: Ensure user queue buffers residency > drm/amdkfd: Validate user queue svm memory residency > drm/amdkfd: Validate user queue update > drm/amdkfd: Store queue cwsr area size to node properties > drm/amdkfd: Validate queue cwsr area and eop buffer size > > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 14 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 6 +- > .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 24 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 6 + > drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 61 +--- > drivers/gpu/drm/amd/amdkfd/kfd_device.c | 4 +- > .../drm/amd/amdkfd/kfd_device_queue_manager.c | 8 +- > drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c | 2 +- > drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 19 +- > drivers/gpu/drm/amd/amdkfd/kfd_process.c | 2 +- > .../amd/amdkfd/kfd_process_queue_manager.c | 79 +++- > drivers/gpu/drm/amd/amdkfd/kfd_queue.c | 336 ++++++++++++++++++ > drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 12 + > drivers/gpu/drm/amd/amdkfd/kfd_svm.h | 1 + > drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 2 + > drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 4 + > 16 files changed, 489 insertions(+), 91 deletions(-) >