Re: [PATCH RFC v2] mm: use per_vma lock for MADV_DONTNEED

From: Qi Zheng
Date: Mon Jun 09 2025 - 02:40:43 EST


Hi Lorenzo,

On 6/6/25 6:44 PM, Lorenzo Stoakes wrote:

[snip]



We could in theory always add another callback .pmd_entry_sleep or
something for this one case and document the requirement...

Maybe, but the SRCU critical section cannot prevent the PTE page from
being freed via RCU. :(

Idea is we'd fall back to non-RCU in this case and take locks... but then
ugh we'd race everything RCU and no it's all or nothing isn't it?

So maybe the RCU+refcount method is feasible. We can release the RCU
lock after incrementing the reference count, which can ensure that the
page table page is not freed.


Overall - I will stash this response somewhere and come back to it if
somebody else doesn't in the meantime :)

Thanks!