Re: [PATCH 1/2] mm/khugepaged: do synchronous writeback for MADV_COLLAPSE

From: Lorenzo Stoakes
Date: Mon Nov 10 2025 - 09:24:16 EST


On Mon, Nov 10, 2025 at 07:50:17PM +0530, Garg, Shivank wrote:
>
>
> On 11/10/2025 7:22 PM, Lorenzo Stoakes wrote:
> > On Mon, Nov 10, 2025 at 01:47:10PM +0000, Matthew Wilcox wrote:
> >> On Mon, Nov 10, 2025 at 11:32:53AM +0000, Shivank Garg wrote:
> >>> When MADV_COLLAPSE is called on file-backed mappings (e.g., executable
> >>> text sections), the pages may still be dirty from recent writes. The
> >>
> >> That explanation derails my brain entirely. Text isn't writable! How
> >> can the pages be dirty and file-backed text?
> >
> > Because they just compiled it and it's not been written back to disk yet :)
>
> Hi,
>
> It's not about compilation. My binaries are already compiled.
>
> The issue is copying those binary to a freshly mounted filesystem.
> The page cache folios remain dirty until background writeback completes.
>
> Reproduces 100% for me: fresh XFS/EXT4 mount -> copy binary -> execute -> MADV_COLLAPSE fails.
>
> Detail logs: https://lore.kernel.org/all/0b84865c-5b23-4be6-9902-af9d5e63c182@xxxxxxx

It amounts to the same thing unless I'm missing something? You've done something
to write out the file and then immediately execute before writeback completes.

>
> Thanks,
> Shivank

Thanks, Lorenzo