On Mon, Jan 18, 2021 at 11:39:10PM -0500, Pavel Tatashin wrote: > 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. > > Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> > --- > mm/gup.c | 60 ++++++++++++++++++++++++++++++++------------------------ > 1 file changed, 34 insertions(+), 26 deletions(-) This should have a fixme too, this is a bug. The patch looks OK, but I keep feeling this logic is all really overcomplicated... Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx> Jason