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

From: David Hildenbrand
Date: Tue Jun 10 2025 - 03:20:16 EST


On 09.06.25 08:40, Qi Zheng wrote:
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.

I'll not that maybe after the memdesc rework, page tables will no longer have a refcount. Maybe.

I mean, it kind-of makes sense, because nobody should really be taking references on page table.

So finding something that doesn't depend on page-table refcounts might be better.

--
Cheers,

David / dhildenb