Thread (59 messages) 59 messages, 8 authors, 2025-06-12

Re: [PATCH 07/12] mm: Remove redundant pXd_devmap calls

From: Dan Williams <hidden>
Date: 2025-06-05 16:22:58
Also in: dri-devel, linux-arm-kernel, linux-cxl, linux-fsdevel, linux-mm, linux-riscv, linux-xfs, linuxppc-dev, lkml, loongarch, nvdimm

Jason Gunthorpe wrote:
On Wed, Jun 04, 2025 at 07:35:24PM -0700, Dan Williams wrote:
quoted
If all dax pages are special, then vm_normal_page() should never find
them and gup should fail.

...oh, but vm_normal_page_p[mu]d() is not used in the gup path, and
'special' is not set in the pte path.
That seems really suboptimal?? Why would pmd and pte be different?
quoted
I think for any p[mu]d where p[mu]d_page() is ok to use should never set
'special', right?
There should be dedicated functions for installing pages and PFNs,
only the PFN one would set the special bit.

And certainly your tests *should* be failing as special entries should
never ever be converted to struct page.
That's the point, the pmd and pud special bit is not considered for gup.
So fixing that requires making it not break dax, but looks like David
has a cleanup for that.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help