Linux/linux 84da111Documentation/vm hmm.rst, arch/csky/include/asm tlb.h

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 more cleanup and consolidation of the hmm APIs and the very
  strongly related mmu_notifier interfaces. Many places across the tree
  using these interfaces are touched in the process. Beyond that a
  cleanup to the page walker API and a few memremap related changes
  round out the series:

   - General improvement of hmm_range_fault() and related APIs, more
     documentation, bug fixes from testing, API simplification &
     consolidation, and unused API removal

   - Simplify the hmm related kconfigs to HMM_MIRROR and DEVICE_PRIVATE,
     and make them internal kconfig selects

   - Hoist a lot of code related to mmu notifier attachment out of
     drivers by using a refcount get/put attachment idiom and remove the
     convoluted mmu_notifier_unregister_no_release() and related APIs.

   - General API improvement for the migrate_vma API and revision of its
     only user in nouveau

   - Annotate mmu_notifiers with lockdep and sleeping region debugging

  Two series unrelated to HMM or mmu_notifiers came along due to
  dependencies:

   - Allow pagemap's memremap_pages family of APIs to work without
     providing a struct device

   - Make walk_page_range() and related use a constant structure for
     function pointers"

* tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (75 commits)
  libnvdimm: Enable unit test infrastructure compile checks
  mm, notifier: Catch sleeping/blocking for !blockable
  kernel.h: Add non_block_start/end()
  drm/radeon: guard against calling an unpaired radeon_mn_unregister()
  csky: add missing brackets in a macro for tlb.h
  pagewalk: use lockdep_assert_held for locking validation
  pagewalk: separate function pointers from iterator data
  mm: split out a new pagewalk.h header from mm.h
  mm/mmu_notifiers: annotate with might_sleep()
  mm/mmu_notifiers: prime lockdep
  mm/mmu_notifiers: add a lockdep map for invalidate_range_start/end
  mm/mmu_notifiers: remove the __mmu_notifier_invalidate_range_start/end exports
  mm/hmm: hmm_range_fault() infinite loop
  mm/hmm: hmm_range_fault() NULL pointer bug
  mm/hmm: fix hmm_range_fault()'s handling of swapped out pages
  mm/mmu_notifiers: remove unregister_no_release
  RDMA/odp: remove ib_ucontext from ib_umem
  RDMA/odp: use mmu_notifier_get/put for 'struct ib_ucontext_per_mm'
  RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr
  RDMA/mlx5: Use ib_umem_start instead of umem.address
  ...
DeltaFile
+276-280drivers/infiniband/core/umem_odp.c
+152-338mm/hmm.c
+147-309drivers/gpu/drm/nouveau/nouveau_dmem.c
+126-150mm/migrate.c
+205-64mm/mmu_notifier.c
+43-125drivers/gpu/drm/radeon/radeon_mn.c
+73-53mm/pagewalk.c
+20-105include/linux/hmm.h
+19-101include/linux/migrate.h
+63-42mm/memremap.c
+43-47drivers/infiniband/hw/mlx5/odp.c
+41-47drivers/gpu/drm/amd/amdkfd/kfd_process.c
+23-59drivers/misc/sgi-gru/grutlbpurge.c
+42-38fs/proc/task_mmu.c
+11-62Documentation/vm/hmm.rst
+66-0include/linux/pagewalk.h
+52-7include/linux/mmu_notifier.h
+33-25include/rdma/ib_umem_odp.h
+37-20kernel/resource.c
+11-43drivers/infiniband/core/umem.c
+0-46include/linux/mm.h
+13-29mm/madvise.c
+28-10drivers/infiniband/hw/mlx5/mr.c
+16-19arch/s390/mm/gmap.c
+8-23drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+10-16mm/mprotect.c
+12-13mm/memcontrol.c
+22-1include/linux/kernel.h
+10-13drivers/gpu/drm/nouveau/nouveau_svm.c
+13-10arch/openrisc/kernel/dma.c
+7-13mm/Kconfig
+14-5kernel/sched/core.c
+8-9mm/mempolicy.c
+8-9mm/mincore.c
+8-7drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c
+0-13drivers/infiniband/hw/mlx5/mem.c
+6-6arch/powerpc/mm/book3s64/subpage_prot.c
+12-0drivers/nvdimm/Kconfig
+0-11drivers/gpu/drm/nouveau/nouveau_dmem.h
+0-9drivers/infiniband/hw/mlx5/main.c
+4-4arch/csky/include/asm/tlb.h
+2-5include/rdma/ib_verbs.h
+0-6include/linux/mm_types.h
+3-2drivers/gpu/drm/nouveau/Kconfig
+0-5drivers/infiniband/core/uverbs_cmd.c
+4-0drivers/nvdimm/Makefile
+3-1drivers/gpu/drm/amd/amdgpu/Kconfig
+4-0include/linux/sched.h
+0-3drivers/gpu/drm/radeon/radeon.h
+3-0drivers/gpu/drm/nouveau/nouveau_drm.c
+0-3drivers/gpu/drm/amd/amdkfd/kfd_priv.h
+2-1include/linux/memremap.h
+1-1mm/page_alloc.c
+0-2drivers/gpu/drm/radeon/radeon_device.c
+1-1include/rdma/ib_umem.h
+2-0drivers/gpu/drm/radeon/radeon_drv.c
+2-0drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+0-2drivers/misc/sgi-gru/grutables.h
+2-0include/linux/ioport.h
+0-1tools/testing/nvdimm/test/iomap.c
+1-0drivers/infiniband/core/device.c
+1-0drivers/misc/sgi-gru/grufile.c
+1-0drivers/infiniband/Kconfig
+0-1kernel/fork.c
+1-0drivers/infiniband/core/uverbs_main.c
+1,715-2,21565 files

UnifiedSplitRaw