Re: [PATCH 05/19] mm/gup: Detect huge pfnmap entries in gup-fast

Jason Gunthorpe
2024-08-14T12:42:32Z

On Fri, Aug 09, 2024 at 12:59:40PM -0400, Peter Xu wrote:
> > In gup_fast_pte_range() we check after checking pte_devmap(). Do we want to
> > do it in a similar fashion here, or is there a reason to do it differently?
>
> IIUC they should behave the same, as the two should be mutual exclusive so
> far. E.g. see insert_pfn():

Yes, agree no functional difference, but David has a point to try to
keep the logic structurally the same in all pte/pmd/pud copies.

> if (pfn_t_devmap(pfn))
> entry = pte_mkdevmap(pfn_t_pte(pfn, prot));
> else
> entry = pte_mkspecial(pfn_t_pte(pfn, prot));
>
> It might change for sure if Alistair move on with the devmap work, though..
> these two always are processed together now, so I hope that won't add much
> burden which series will land first, then we may need some care on merging
> them. I don't expect anything too tricky in merge if that was about
> removal of the devmap bits.

Removing pte_mkdevmap can only make things simpler :)

Jason