Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
Pull hmm updates from Jason Gunthorpe: "This is another round of bug fixing and cleanup. This time the focus is on the driver pattern to use mmu notifiers to monitor a VA range. This code is lifted out of many drivers and hmm_mirror directly into the mmu_notifier core and written using the best ideas from all the driver implementations. This removes many bugs from the drivers and has a very pleasing diffstat. More drivers can still be converted, but that is for another cycle. - A shared branch with RDMA reworking the RDMA ODP implementation - New mmu_interval_notifier API. This is focused on the use case of monitoring a VA and simplifies the process for drivers - A common seq-count locking scheme built into the mmu_interval_notifier API usable by drivers that call get_user_pages() or hmm_range_fault() with the VA range - Conversion of mlx5 ODP, hfi1, radeon, nouveau, AMD GPU, and Xen GntDev drivers to the new API. This deletes a lot of wonky driver code. - Two improvements for hmm_range_fault(), from testing done by Ralph" * tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: mm/hmm: remove hmm_range_dma_map and hmm_range_dma_unmap mm/hmm: make full use of walk_page_range() xen/gntdev: use mmu_interval_notifier_insert mm/hmm: remove hmm_mirror and related drm/amdgpu: Use mmu_interval_notifier instead of hmm_mirror drm/amdgpu: Use mmu_interval_insert instead of hmm_mirror drm/amdgpu: Call find_vma under mmap_sem nouveau: use mmu_interval_notifier instead of hmm_mirror nouveau: use mmu_notifier directly for invalidate_range_start drm/radeon: use mmu_interval_notifier_insert RDMA/hfi1: Use mmu_interval_notifier_insert for user_exp_rcv RDMA/odp: Use mmu_interval_notifier_insert() mm/hmm: define the pre-processor related parts of hmm.h even if disabled mm/hmm: allow hmm_range to be used with a mmu_interval_notifier or hmm_mirror mm/mmu_notifier: add an interval tree notifier mm/mmu_notifier: define the header pre-processor parts even if disabled mm/hmm: allow snapshot of the special zero page
Showing
- Documentation/vm/hmm.rst 24 additions, 81 deletionsDocumentation/vm/hmm.rst
- drivers/gpu/drm/amd/amdgpu/amdgpu.h 2 additions, 0 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c 6 additions, 3 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 6 additions, 8 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 1 addition, 0 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_device.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c 56 additions, 388 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_mn.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_mn.h 0 additions, 53 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_mn.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_object.h 9 additions, 4 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_object.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 89 additions, 56 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
- drivers/gpu/drm/nouveau/nouveau_svm.c 140 additions, 90 deletionsdrivers/gpu/drm/nouveau/nouveau_svm.c
- drivers/gpu/drm/radeon/radeon.h 7 additions, 2 deletionsdrivers/gpu/drm/radeon/radeon.h
- drivers/gpu/drm/radeon/radeon_mn.c 44 additions, 174 deletionsdrivers/gpu/drm/radeon/radeon_mn.c
- drivers/infiniband/core/device.c 0 additions, 1 deletiondrivers/infiniband/core/device.c
- drivers/infiniband/core/umem_odp.c 41 additions, 262 deletionsdrivers/infiniband/core/umem_odp.c
- drivers/infiniband/hw/hfi1/file_ops.c 1 addition, 1 deletiondrivers/infiniband/hw/hfi1/file_ops.c
- drivers/infiniband/hw/hfi1/hfi.h 1 addition, 1 deletiondrivers/infiniband/hw/hfi1/hfi.h
- drivers/infiniband/hw/hfi1/user_exp_rcv.c 56 additions, 90 deletionsdrivers/infiniband/hw/hfi1/user_exp_rcv.c
- drivers/infiniband/hw/hfi1/user_exp_rcv.h 2 additions, 1 deletiondrivers/infiniband/hw/hfi1/user_exp_rcv.h
- drivers/infiniband/hw/mlx5/mlx5_ib.h 2 additions, 5 deletionsdrivers/infiniband/hw/mlx5/mlx5_ib.h
- drivers/infiniband/hw/mlx5/mr.c 2 additions, 1 deletiondrivers/infiniband/hw/mlx5/mr.c
Please register or sign in to comment