[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cea956bf-66cf-dfa5-cc0a-50a2c14a68ec@redhat.com>
Date: Wed, 24 Nov 2021 15:41:05 +0100
From: David Hildenbrand <david@...hat.com>
To: Vlastimil Babka <vbabka@...e.cz>, Jason Gunthorpe <jgg@...pe.ca>
Cc: Jens Axboe <axboe@...nel.dk>,
Andrew Dona-Couch <andrew@...acou.ch>,
Andrew Morton <akpm@...ux-foundation.org>,
Drew DeVault <sir@...wn.com>,
Ammar Faizi <ammarfaizi2@...weeb.org>,
linux-kernel@...r.kernel.org, linux-api@...r.kernel.org,
io_uring Mailing List <io-uring@...r.kernel.org>,
Pavel Begunkov <asml.silence@...il.com>, linux-mm@...ck.org
Subject: Re: [PATCH] Increase default MLOCK_LIMIT to 8 MiB
On 24.11.21 15:37, Vlastimil Babka wrote:
> 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.
I might be wrong but that would then essentially be an actual mlock+mmu
notifier mechanism, and no longer FOLL_LONGTERM. And the mlock could
actually be done by user space and would be optional.
I'd be very happy to see something like that instead ... but so far
people don't even agree that it's an issue worth fixing.
So ...
--
Thanks,
David / dhildenb
Powered by blists - more mailing lists