Linux/linux fec88abDocumentation/vm hmm.rst, arch/powerpc/mm mem.c

Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma

Pull HMM updates from Jason Gunthorpe:
 "Improvements and bug fixes for the hmm interface in the kernel:

   - Improve clarity, locking and APIs related to the 'hmm mirror'
     feature merged last cycle. In linux-next we now see AMDGPU and
     nouveau to be using this API.

   - Remove old or transitional hmm APIs. These are hold overs from the
     past with no users, or APIs that existed only to manage cross tree
     conflicts. There are still a few more of these cleanups that didn't
     make the merge window cut off.

   - Improve some core mm APIs:
       - export alloc_pages_vma() for driver use
       - refactor into devm_request_free_mem_region() to manage
         DEVICE_PRIVATE resource reservations
       - refactor duplicative driver code into the core dev_pagemap
         struct

   - Remove hmm wrappers of improved core mm APIs, instead have drivers
     use the simplified API directly

   - Remove DEVICE_PUBLIC

   - Simplify the kconfig flow for the hmm users and core code"

* tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (42 commits)
  mm: don't select MIGRATE_VMA_HELPER from HMM_MIRROR
  mm: remove the HMM config option
  mm: sort out the DEVICE_PRIVATE Kconfig mess
  mm: simplify ZONE_DEVICE page private data
  mm: remove hmm_devmem_add
  mm: remove hmm_vma_alloc_locked_page
  nouveau: use devm_memremap_pages directly
  nouveau: use alloc_page_vma directly
  PCI/P2PDMA: use the dev_pagemap internal refcount
  device-dax: use the dev_pagemap internal refcount
  memremap: provide an optional internal refcount in struct dev_pagemap
  memremap: replace the altmap_valid field with a PGMAP_ALTMAP_VALID flag
  memremap: remove the data field in struct dev_pagemap
  memremap: add a migrate_to_ram method to struct dev_pagemap_ops
  memremap: lift the devmap_enable manipulation into devm_memremap_pages
  memremap: pass a struct dev_pagemap to ->kill and ->cleanup
  memremap: move dev_pagemap callbacks into a separate structure
  memremap: validate the pagemap type passed to devm_memremap_pages
  mm: factor out a devm_request_free_mem_region helper
  mm: export alloc_pages_vma
  ...
DeltaFile
+164-489mm/hmm.c
+36-266include/linux/hmm.h
+120-78kernel/memremap.c
+73-93Documentation/vm/hmm.rst
+46-55drivers/gpu/drm/nouveau/nouveau_dmem.c
+49-26include/linux/memremap.h
+45-10tools/testing/nvdimm/test/iomap.c
+4-48drivers/pci/p2pdma.c
+19-32drivers/nvdimm/pmem.c
+4-46mm/Kconfig
+5-44mm/memory.c
+1-40drivers/dax/device.c
+39-0kernel/resource.c
+4-24mm/migrate.c
+2-26include/linux/mm.h
+0-15include/linux/swapops.h
+6-7mm/memcontrol.c
+6-7mm/page_alloc.c
+9-4mm/swap.c
+1-9arch/powerpc/mm/mem.c
+2-6arch/x86/mm/init_64.c
+0-7mm/gup.c
+3-3drivers/gpu/drm/nouveau/Kconfig
+1-5mm/memory-failure.c
+2-4mm/memory_hotplug.c
+3-2include/linux/ioport.h
+2-2include/linux/mm_types.h
+0-4drivers/dax/dax-private.h
+1-2drivers/nvdimm/pfn_devs.c
+1-1drivers/dax/pmem/core.c
+1-1mm/madvise.c
+1-1mm/Makefile
+1-1drivers/gpu/drm/nouveau/nouveau_svm.c
+1-1fs/proc/task_mmu.c
+1-0mm/mempolicy.c
+0-1kernel/fork.c
+653-1,36036 files

UnifiedSplitRaw