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

Peter Xu
2024-08-14T15:34:41Z

On Wed, Aug 14, 2024 at 09:42:28AM -0300, Jason Gunthorpe wrote:
> 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.

OK, let me reorder them if that helps.

>
> > 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 :)

Yep. :)

Thanks,

--
Peter Xu