Re: [PATCH v5 04/14] mm/gup: check for isolation errors

From: Jason Gunthorpe
Date: Tue Jan 19 2021 - 13:23:44 EST


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