Re: [PATCH v2 4/5] hugetlb: Use vmf_anon_prepare() instead of anon_vma_prepare()

From: Matthew Wilcox
Date: Wed Feb 21 2024 - 22:51:31 EST


On Wed, Feb 21, 2024 at 03:47:31PM -0800, Vishal Moola (Oracle) wrote:
> hugetlb_no_page() and hugetlb_wp() call anon_vma_prepare(). In
> preparation for hugetlb to safely handle faults under the VMA lock,
> use vmf_anon_prepare() here instead.
>
> Additionally, passing hugetlb_wp() the vm_fault struct from hugetlb_fault()
> works toward cleaning up the hugetlb code and function stack.

Reviewed-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>

> static vm_fault_t hugetlb_wp(struct mm_struct *mm, struct vm_area_struct *vma,
> unsigned long address, pte_t *ptep, unsigned int flags,
> - struct folio *pagecache_folio, spinlock_t *ptl)
> + struct folio *pagecache_folio, spinlock_t *ptl,
> + struct vm_fault *vmf)

Is it worth removing vma, address and flags?