• Pavel Tatashin's avatar
    mm/gup: check for isolation errors · 6e7f34eb
    Pavel Tatashin authored
    It is still possible that we pin movable CMA pages if there are
    isolation errors and cma_page_list stays empty when we check again.
    
    Check for isolation errors, and return success only when there are no
    isolation errors, and cma_page_list is empty after checking.
    
    Because isolation errors are transient, we retry indefinitely.
    
    Link: https://lkml.kernel.org/r/20210215161349.246722-5-pasha.tatashin@soleen.com
    Fixes: 9a4e9f3b ("mm: update get_user_pages_longterm to migrate pages allocated from CMA region")
    Signed-off-by: default avatarPavel Tatashin <pasha.tatashin@soleen.com>
    Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Ira Weiny <ira.weiny@intel.com>
    Cc: James Morris <jmorris@namei.org>
    Cc: Jason Gunthorpe <jgg@ziepe.ca>
    Cc: John Hubbard <jhubbard@nvidia.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Mel Gorman <mgorman@suse.de>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Sasha Levin <sashal@kernel.org>
    Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Cc: Tyler Hicks <tyhicks@linux.microsoft.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    6e7f34eb
gup.c 83 KB