Re: [PATCHv2 4/5] mm/fault: Try to map the entire file folio in finish_fault()

From: Shakeel Butt

Date: Fri Sep 19 2025 - 17:28:39 EST


On Fri, Sep 19, 2025 at 01:40:35PM +0100, Kiryl Shutsemau wrote:
> From: Kiryl Shutsemau <kas@xxxxxxxxxx>
>
> 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.
>
> Signed-off-by: Kiryl Shutsemau <kas@xxxxxxxxxx>

Reviewed-by: Shakeel Butt <shakeel.butt@xxxxxxxxx>