Re: [PATCH] Increase default MLOCK_LIMIT to 8 MiB

From: Vlastimil Babka
Date: Wed Nov 24 2021 - 09:38:10 EST


On 11/24/21 09:57, David Hildenbrand wrote:
> On 24.11.21 00:59, Jason Gunthorpe wrote:
>>> Similarly for io-uring we could be migrating pages to be pinned so that
>>> the end up consolidated close together, and prevent pathologic
>>> situations like in David's reproducer.
>>
>> It is an interesting idea to have GUP do some kind of THP preserving
>> migration.
>
>
> Unfortunately it will only be a band aid AFAIU. I can rewrite my
> reproducer fairly easily to pin the whole 2M range first, pin a second
> time only a single page, and then unpin the 2M range, resulting in the
> very same way to block THP. (I can block some THP less because I always
> need the possibility to memlock 2M first, though).

Hm I see, then we could also condsider making it possible to migrate the
pinned pages - of course io-uring would have to be cooperative here,
similarly to anything that supports PageMovable. Mlocked pages can also be
migrated (I think there's some sysctl to prevent that, if the guarantee of
not even a minor pagefault is considered more important).