On Thu, Jul 23, 2020 at 03:29:58PM -0700, Ralph Campbell wrote: > The goal for this series is to avoid device private memory TLB > invalidations when migrating a range of addresses from system > memory to device private memory and some of those pages have already > been migrated. The approach taken is to introduce a new mmu notifier > invalidation event type and use that in the device driver to skip > invalidation callbacks from migrate_vma_setup(). The device driver is > also then expected to handle device MMU invalidations as part of the > migrate_vma_setup(), migrate_vma_pages(), migrate_vma_finalize() process. > Note that this is opt-in. A device driver can simply invalidate its MMU > in the mmu notifier callback and not handle MMU invalidations in the > migration sequence. > > This series is based on Jason Gunthorpe's HMM tree (linux-5.8.0-rc4). > > Also, this replaces the need for the following two patches I sent: > ("mm: fix migrate_vma_setup() src_owner and normal pages") > https://lore.kernel.org/linux-mm/20200622222008.9971-1-rcampbell@xxxxxxxxxx > ("nouveau: fix mixed normal and device private page migration") > https://lore.kernel.org/lkml/20200622233854.10889-3-rcampbell@xxxxxxxxxx > > Changes in v4: > Added reviewed-by from Bharata B Rao. > Removed dead code checking for source device private page in lib/test_hmm.c > dmirror_migrate_alloc_and_copy() since the source filter flag guarantees > that. > Added patch 6 to remove a redundant invalidation in migrate_vma_pages(). > > Changes in v3: > Changed the direction field "dir" to a "flags" field and renamed > src_owner to pgmap_owner. > Fixed a locking issue in nouveau for the migration invalidation. > Added a HMM selftest test case to exercise the HMM test driver > invalidation changes. > Removed reviewed-by Bharata B Rao since this version is moderately > changed. > > Changes in v2: > Rebase to Jason Gunthorpe's HMM tree. > Added reviewed-by from Bharata B Rao. > Rename the mmu_notifier_range::data field to migrate_pgmap_owner as > suggested by Jason Gunthorpe. > > Ralph Campbell (6): > 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 Applied to the hmm tree with the modification I noted, I think all the comments in the past versions were addressed. I will accumulate more Reviews if any come. > mm/migrate: remove range invalidation in migrate_vma_pages() Let's have some discussion on this new patch please, at least I don't follow it yet. Thanks, Jason