Re: [PATCH 1/7] mm/hugetlb: Handle FOLL_DUMP well in follow_page_mask()

From: Mike Kravetz
Date: Wed Jun 14 2023 - 19:25:35 EST


On 06/13/23 17:53, Peter Xu wrote:
> Firstly, the no_page_table() is meaningless for hugetlb which is a no-op
> there, because a hugetlb page always satisfies:
>
> - vma_is_anonymous() == false
> - vma->vm_ops->fault != NULL
>
> So we can already safely remove it in hugetlb_follow_page_mask(), alongside
> with the page* variable.
>
> Meanwhile, what we do in follow_hugetlb_page() actually makes sense for a
> dump: we try to fault in the page only if the page cache is already
> allocated. Let's do the same here for follow_page_mask() on hugetlb.
>
> It should so far has zero effect on real dumps, because that still goes
> into follow_hugetlb_page(). But this may start to influence a bit on
> follow_page() users who mimics a "dump page" scenario, but hopefully in a
> good way. This also paves way for unifying the hugetlb gup-slow.
>
> Signed-off-by: Peter Xu <peterx@xxxxxxxxxx>
> ---
> mm/gup.c | 9 ++-------
> mm/hugetlb.c | 9 +++++++++
> 2 files changed, 11 insertions(+), 7 deletions(-)

Thanks Peter!

Reviewed-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
--
Mike Kravetz