Re: [PATCH v2 05/18] mm/gup: introduce pin_user_pages*() and FOLL_PIN

From: David Rientjes
Date: Mon Nov 04 2019 - 15:33:17 EST




On Sun, 3 Nov 2019, John Hubbard wrote:

> Introduce pin_user_pages*() variations of get_user_pages*() calls,
> and also pin_longterm_pages*() variations.
>
> These variants all set FOLL_PIN, which is also introduced, and
> thoroughly documented.
>
> The pin_longterm*() variants also set FOLL_LONGTERM, in addition
> to FOLL_PIN:
>
> pin_user_pages()
> pin_user_pages_remote()
> pin_user_pages_fast()
>
> pin_longterm_pages()
> pin_longterm_pages_remote()
> pin_longterm_pages_fast()
>
> All pages that are pinned via the above calls, must be unpinned via
> put_user_page().
>

Hi John,

I'm curious what consideration is given to what pageblock migrate types
that FOLL_PIN and FOLL_LONGTERM pages originate from, assuming that
longterm would want to originate from MIGRATE_UNMOVABLE pageblocks for the
purposes of anti-fragmentation?