Re: [PATCH v3 21/26] mm/page_alloc: implement FREETYPE_UNMAPPED allocations

"Brendan Jackman" <[email protected]>
Newsgroups gmane.linux.kernel,gmane.linux.kernel.mm
Message-ID <[email protected]>
On Tue Aug 18, 2026 at 2:55 AM CEST, Yosry Ahmed wrote:
...
>> [0]: https://lore.kernel.org/all/[email protected]/
>> 
>> > I wonder if we still need a fallback case where a pageblock contains a
>> > mix of mapped and unmapped pages. We need to carefully handle such
>> > pageblocks:
>> > - For unmapped allocations, we need to unmap the relevant PTEs and
>> >   potentially do a TLB shootdown (if they were previously mapped). Maybe
>> >   we should always flush the TLB for simplicity for now.
>> > - For mapped allocations, we need to map the relevant PTEs. No TLB
>> >   shootdown should be needed.
>> >
>> > Assuming unmapped allocations are always zeroed by the users on alloc
>> > and free, we don't need to worry about zeroing pages either way.
>> >
>> > We may want to track the number of unmapped pages in such page blocks to
>> > now when it's fully mapped or fully unmapped and change its type, but
>> > maybe this can be a followup if needed.
>> 
>> ... However, yes this might be unavoidable despite what I said above.
>> This was also DavidH's feeling when I chatted to him a few months back.
>> The hard parts of it are a) the tracking as you hinted at and b) in the
>> general case that means allocating pagetables. 
>
> I am considering a simple-ish scheme to avoid per-page tracking and
> potential TLB shootdowns in the freeing path (which prompted async
> freeing internally).
>
> What if we just always map pages in such tainted/mixed pageblocks when
> they are freed? If they are already mapped, nothing to do. If unmapped,
> we map them and zero them. No TLB shootdown required.
>
> We also shouldn't ever need to allocate. If the pages were previously
> unmapped, we should have already allocated any necessary page tables.
> Right?

Why would we already have allocated them?  In case it wasn't clear, I'm
talking about breaking down huge mappings here.

> Zeroing on free may still be bad, but not prohibitive, and hopefully
> this is only a fallback. We'll need to figure out where this fallback
> fits (e.g. before or after reclaim/compaction).

Yeah zeroing seems tolerable.

>> So yeah I think it's probably doable but I _really_ want to avoid doing
>> it in this series if we possibly can.
>
> Yeah I am trying to figure out whether the issue is theoretical enough
> that we can do it in a follow up.

I think it's definitely theoretical enough if secretmem is the only
user. I hope given that guest_memfd usage is gated by a userspace opt-in
that it's also automatically OK for that too...
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.