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@soleen.com
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@nvidia.com
Jason