Re: [PATCH v2 2/8] mm/hugetlb: Prepare hugetlb_follow_page_mask() for FOLL_PIN

From: Peter Xu
Date: Tue Jun 20 2023 - 12:07:28 EST


On Tue, Jun 20, 2023 at 05:28:28PM +0200, David Hildenbrand wrote:
> On 20.06.23 01:10, Peter Xu wrote:
> > follow_page() doesn't use FOLL_PIN, meanwhile hugetlb seems to not be the
> > target of FOLL_WRITE either. However add the checks.
> >
> > Namely, either the need to CoW due to missing write bit, or proper CoR on
> > !AnonExclusive pages over R/O pins to reject the follow page. That brings
> > this function closer to follow_hugetlb_page().
> >
> > So we don't care before, and also for now. But we'll care if we switch
> > over slow-gup to use hugetlb_follow_page_mask(). We'll also care when to
> > return -EMLINK properly, as that's the gup internal api to mean "we should
> > do CoR". Not really needed for follow page path, though.
> >
> > When at it, switching the try_grab_page() to use WARN_ON_ONCE(), to be
> > clear that it just should never fail.
>
> Oh, and does this comment really belong into this patch or am I confused?

Ah yeh, thanks for spotting. I used to have it in v1 but I kept the old
failure path here to partly address Lorenzo's worry; but then I forgot to
add the WARN_ON_ONCE back to guard. I'll remember to add that in v3.

--
Peter Xu