Re: [PATCH v6 12/14] mm/gup: longterm pin migration cleaup

Jason Gunthorpe
2021-01-20T13:19:43Z

On Tue, Jan 19, 2021 at 08:43:31PM -0500, Pavel Tatashin wrote:
> When pages are longterm pinned, we must migrated them out of movable zone.
> The function that migrates them has a hidden loop with goto. The loop is
> to retry on isolation failures, and after successful migration.
>
> Make this code better by moving this loop to the caller.
>
> Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
> mm/gup.c | 88 +++++++++++++++++++++++---------------------------------
> 1 file changed, 36 insertions(+), 52 deletions(-)

This looks OK, it is better

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

I really dislike we always have to go over the page list twice in pin
mode

The is_pinnable_page() and LRU isolation should really be done inside
__get_user_pages_locked() as each page is added to the output list

But that is more of a larger issue than this series

Jason