Re: [PATCH 1/2] mm: memfd_luo: always make all folios uptodate

From: Pratyush Yadav

Date: Thu Mar 05 2026 - 03:50:29 EST


On Wed, Feb 25 2026, Mike Rapoport wrote:

> On Mon, Feb 23, 2026 at 06:39:28PM +0100, Pratyush Yadav wrote:
[...]
>> +
>> + /*
>> + * If the folio is not uptodate, it was fallocated but never
>> + * used. Saving this flag at prepare() doesn't work since it
>> + * might change later when someone uses the folio.
>> + *
>> + * Since we have taken the performance penalty of allocating,
>> + * zeroing, and pinning all the folios in the holes, take a bit
>> + * more and zero all non-uptodate folios too.
>> + *
>> + * NOTE: For someone looking to improve preserve performance,
>> + * this is a good place to look.
>
> I'd add a larger comment above memfd_luo_preserve_folios() that says that
> it allocates, pins etc and fold the last two paragraphs of this comment
> there.

How about this:

/*
* If the folio is not uptodate, it was fallocated but never
* used. Saving this flag at prepare() doesn't work since it
* might change later when the folio is used. Make it uptodate
* now to avoid this problem.
*/
if (!folio_test_uptodate(folio)) {

And the comment above memfd_pin_folios() gets this:

* NOTE: For someone looking to improve preserve performance, this is a
* good place to look. Also look at the folio zeroing below.

[...]

--
Regards,
Pratyush Yadav