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

From: Garg, Shivank
Date: Mon Nov 10 2025 - 09:20:56 EST




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

Thanks,
Shivank