linux/Documentation/vm
Jérôme Glisse a3e0d41c2b mm/hmm: improve driver API to work and wait over a range
A common use case for HMM mirror is user trying to mirror a range and
before they could program the hardware it get invalidated by some core mm
event.  Instead of having user re-try right away to mirror the range
provide a completion mechanism for them to wait for any active
invalidation affecting the range.

This also changes how hmm_range_snapshot() and hmm_range_fault() works by
not relying on vma so that we can drop the mmap_sem when waiting and
lookup the vma again on retry.

Link: http://lkml.kernel.org/r/20190403193318.16478-7-jglisse@redhat.com
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Reviewed-by: Ralph Campbell <rcampbell@nvidia.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Balbir Singh <bsingharora@gmail.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Souptick Joarder <jrdr.linux@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-05-14 09:47:48 -07:00
..
.gitignore
active_mm.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
balance.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
cleancache.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
conf.py docs/vm: add index.rst and link MM documentation to top level index 2018-04-16 14:18:15 -06:00
frontswap.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
highmem.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
hmm.rst mm/hmm: improve driver API to work and wait over a range 2019-05-14 09:47:48 -07:00
hugetlbfs_reserv.rst docs/vm: Minor editorial changes in the THP and hugetlbfs 2019-04-30 06:34:40 -06:00
hwpoison.rst docs/admin-guide/mm: start moving here files from Documentation/vm 2018-04-27 17:02:48 -06:00
index.rst docs/vm: add documentation of memory models 2019-04-30 06:30:01 -06:00
ksm.rst docs/vm: ksm: split userspace interface to admin-guide/mm/ksm.rst 2018-04-27 17:19:49 -06:00
memory-model.rst docs/vm: add documentation of memory models 2019-04-30 06:30:01 -06:00
mmu_notifier.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
numa.rst docs: Use reference to link to rst file 2019-04-09 15:21:17 -06:00
overcommit-accounting.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
page_frags.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
page_migration.rst Merge branch 'mm-rst' into docs-next 2018-04-16 14:25:08 -06:00
page_owner.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
remap_file_pages.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
slub.rst docs: Add missing colon 2019-02-01 16:03:45 -07:00
split_page_table_lock.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
swap_numa.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
transhuge.rst docs/vm: Minor editorial changes in the THP and hugetlbfs 2019-04-30 06:34:40 -06:00
unevictable-lru.rst mm, drm/i915: mark pinned shmemfs pages as unevictable 2018-11-07 15:28:32 +00:00
z3fold.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
zsmalloc.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
zswap.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00