Re: [PATCHv2 4/5] mm/fault: Try to map the entire file folio in finish_fault()
From: Matthew Wilcox
Date: Sat Sep 20 2025 - 03:37:56 EST
On Fri, Sep 19, 2025 at 01:40:35PM +0100, Kiryl Shutsemau wrote:
> The finish_fault() function uses per-page fault for file folios. This
> only occurs for file folios smaller than PMD_SIZE.
>
> The comment suggests that this approach prevents RSS inflation.
> However, it only prevents RSS accounting. The folio is still mapped to
> the process, and the fact that it is mapped by a single PTE does not
> affect memory pressure. Additionally, the kernel's ability to map
> large folios as PMD if they are large enough does not support this
> argument.
>
> When possible, map large folios in one shot. This reduces the number of
> minor page faults and allows for TLB coalescing.
>
> Mapping large folios at once will allow the rmap code to mlock it on
> add, as it will recognize that it is fully mapped and mlocking is safe.
Does this patch have any measurable effect? Almost all folios are
mapped through do_fault_around(). I'm not objecting to the patch,
but the commit message maybe makes this sound more important than it is.