Hi Linus, Ralph has been working on nouveau's use of hmm_range_fault() and migrate_vma() which resulted in this small series of improvements. There are two expected conflicts. Conflict with the kvm-ppc tree: https://lore.kernel.org/linux-next/20200730191610.204ed02c@canb.auug.org.au/ This is because the kvm-ppc tree moved __kvmppc_svm_page_out() within the file. To resolve the diff from 5143192cd410 ("mm/migrate: add a flags parameter to migrate_vma") needs to be applied to the new location: - mig.src_owner = &kvmppc_uvmem_pgmap; ++ mig.pgmap_owner = &kvmppc_uvmem_pgmap; ++ mig.flags = MIGRATE_VMA_SELECT_DEVICE_PRIVATE; There is an accidental conflict with the DRM tree, due to a confusion the same patch got applied to both trees and we couldn't undo it in time. Please take the hmm version of the resolution. Since neither DRM or kvm-ppc have been merged by you, I've made a very hacky for-linus-hmm-merged tag with my resolutions for your reference. Thanks, Jason The following changes since commit dcb7fd82c75ee2d6e6f9d8cc71c52519ed52e258: Linux 5.8-rc4 (2020-07-05 16:20:22 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus-hmm for you to fetch changes up to 7d17e83abec1be3355260b3e4812044c65c32907: mm/hmm/test: use the new migration invalidation (2020-07-28 16:20:33 -0300) ---------------------------------------------------------------- hmm related patches for 5.9 This series adds reporting of the page table order from hmm_range_fault() and some optimization of migrate_vma(): - Report the size of the page table mapping out of hmm_range_fault(). This makes it easier to establish a large/huge/etc mapping in the device's page table. - Allow devices to ignore the invalidations during migration in cases where the migration is not going to change pages. For instance migrating pages to a device does not require the device to invalidate pages already in the device. - Update nouveau and hmm_tests to use the above ---------------------------------------------------------------- Ralph Campbell (10): mm/hmm: provide the page mapping order in hmm_range_fault() mm/hmm: add tests for hmm_pfn_to_map_order() nouveau/hmm: fault one page at a time nouveau: fix mapping 2MB sysmem pages nouveau/hmm: support mapping large sysmem pages nouveau: fix storing invalid ptes mm/migrate: add a flags parameter to migrate_vma mm/notifier: add migration invalidation type nouveau/svm: use the new migration invalidation mm/hmm/test: use the new migration invalidation arch/powerpc/kvm/book3s_hv_uvmem.c | 4 +- drivers/gpu/drm/nouveau/nouveau_dmem.c | 19 +- drivers/gpu/drm/nouveau/nouveau_svm.c | 257 +++++++++------------ drivers/gpu/drm/nouveau/nouveau_svm.h | 13 +- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 5 +- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 91 +++++++- include/linux/hmm.h | 24 +- include/linux/migrate.h | 16 +- include/linux/mmu_notifier.h | 6 + lib/test_hmm.c | 47 ++-- lib/test_hmm_uapi.h | 4 + mm/hmm.c | 16 +- mm/migrate.c | 14 +- tools/testing/selftests/vm/hmm-tests.c | 94 +++++++- 14 files changed, 410 insertions(+), 200 deletions(-)