Re: [PATCH 14/22] mm: set page table page type when allocated

From
Kevin Brodsky <hidden>
Date
2026-07-24 16:31:47
Also in
linux-arch, linux-efi, linux-mm, linux-riscv, linux-s390, linux-um, lkml, loongarch, sparclinux
Reply to
Vishal Moola, 2026-07-20
On 20/07/2026 21:05, Vishal Moola wrote:
On Thu, Jul 16, 2026 at 11:49:31AM +0200, Kevin Brodsky wrote:
quoted
quoted
We should switch over from __folio_set_pgtable() to __SetPagePgtable()
in this patch. Ptdescs and folios should be treated as distinctly
independent of each other.
I sure remember the previous discussion, but my reading of your comments
[1] is that we cannot really change this as long as pagetable_alloc()
can be called with order > 0, right? Multiple archs still rely on that.
Kinda...

The concern was about callers accessing tail pages directly for that
information. Using the folio API ensures that we always look into the
head page.

Since we're now doing it at allocation time, we know we always have the
head page, so it's fine.
Ah got it, that makes sense.
The dtor/free should be more questionable because the underlying api
uses virt_to_page() which could look at a tail page... oopsie. I
haven't seen any reports tied to it so its probably fine (the
setting/clearing has been using the folio API since ptdescs).
Right, that should be fine - calling pagetable_free() on anything else
than a ptdesc allocated by pagetable_alloc() is a bug, so if we get any
crash because of this we should just go and fix the underlying issue.
I'd still switch to __SetPagePgtable() in a separate commit to improve
bisectability.

FWIW there are definitely cases where pagetable_free() and
pagetable_alloc() calls aren't properly matched (see my reply to the
cover letter), this needs to be addressed for this series anyway.
We can say thats a happy accident that makes distinguishing ptdescs
and folios easier :)
Indeed!

- Kevin
Thread (51 messages) 51 messages, 7 authors, last reply 2026-08-11
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help