The patch titled Subject: memory-hotplug.rst: add a note about ZONE_MOVABLE and page pinning has been added to the -mm tree. Its filename is memory-hotplugrst-add-a-note-about-zone_movable-and-page-pinning.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/memory-hotplugrst-add-a-note-about-zone_movable-and-page-pinning.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/memory-hotplugrst-add-a-note-about-zone_movable-and-page-pinning.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> Subject: memory-hotplug.rst: add a note about ZONE_MOVABLE and page pinning Document the special handling of page pinning when ZONE_MOVABLE present. Link: https://lkml.kernel.org/r/20210201153827.444374-11-pasha.tatashin@xxxxxxxxxx Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> Suggested-by: David Hildenbrand <david@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Ira Weiny <ira.weiny@xxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Cc: Jason Gunthorpe <jgg@xxxxxxxxxx> Cc: Jason Gunthorpe <jgg@xxxxxxxx> Cc: John Hubbard <jhubbard@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Oscar Salvador <osalvador@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sashal@xxxxxxxxxx> Cc: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> Cc: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- Documentation/admin-guide/mm/memory-hotplug.rst | 9 +++++++++ 1 file changed, 9 insertions(+) --- a/Documentation/admin-guide/mm/memory-hotplug.rst~memory-hotplugrst-add-a-note-about-zone_movable-and-page-pinning +++ a/Documentation/admin-guide/mm/memory-hotplug.rst @@ -357,6 +357,15 @@ creates ZONE_MOVABLE as following. Unfortunately, there is no information to show which memory block belongs to ZONE_MOVABLE. This is TBD. +.. note:: + Techniques that rely on long-term pinnings of memory (especially, RDMA and + vfio) are fundamentally problematic with ZONE_MOVABLE and, therefore, memory + hot remove. Pinned pages cannot reside on ZONE_MOVABLE, to guarantee that + memory can still get hot removed - be aware that pinning can fail even if + there is plenty of free memory in ZONE_MOVABLE. In addition, using + ZONE_MOVABLE might make page pinning more expensive, because pages have to be + migrated off that zone first. + .. _memory_hotplug_how_to_offline_memory: How to offline memory _ Patches currently in -mm which might be from pasha.tatashin@xxxxxxxxxx are mm-gup-dont-pin-migrated-cma-pages-in-movable-zone.patch mm-gup-check-every-subpage-of-a-compound-page-during-isolation.patch mm-gup-return-an-error-on-migration-failure.patch mm-gup-check-for-isolation-errors.patch mm-cma-rename-pf_memalloc_nocma-to-pf_memalloc_pin.patch mm-apply-per-task-gfp-constraints-in-fast-path.patch mm-honor-pf_memalloc_pin-for-all-movable-pages.patch mm-gup-do-not-migrate-zero-page.patch mm-gup-migrate-pinned-pages-out-of-movable-zone.patch memory-hotplugrst-add-a-note-about-zone_movable-and-page-pinning.patch mm-gup-change-index-type-to-long-as-it-counts-pages.patch mm-gup-longterm-pin-migration-cleanup.patch selftests-vm-gup_test-fix-test-flag.patch selftests-vm-gup_test-test-faulting-in-kernel-and-verify-pinnable-pages.patch