Re: [PATCH v4 1/9] hugetlb: Pass vma into huge_pte_alloc()

From: Mike Kravetz
Date: Mon Feb 01 2021 - 16:57:14 EST


On 2/1/21 1:38 PM, Mike Kravetz wrote:
> On 1/28/21 3:42 PM, Axel Rasmussen wrote:
>> From: Peter Xu <peterx@xxxxxxxxxx>
>>
>> It is a preparation work to be able to behave differently in the per
>> architecture huge_pte_alloc() according to different VMA attributes.
>>
>> Signed-off-by: Peter Xu <peterx@xxxxxxxxxx>
>> [axelrasmussen@xxxxxxxxxx: fixed typo in arch/mips/mm/hugetlbpage.c]
>> Signed-off-by: Axel Rasmussen <axelrasmussen@xxxxxxxxxx>
>> ---
>> arch/arm64/mm/hugetlbpage.c | 2 +-
>> arch/ia64/mm/hugetlbpage.c | 3 ++-
>> arch/mips/mm/hugetlbpage.c | 4 ++--
>> arch/parisc/mm/hugetlbpage.c | 2 +-
>> arch/powerpc/mm/hugetlbpage.c | 3 ++-
>> arch/s390/mm/hugetlbpage.c | 2 +-
>> arch/sh/mm/hugetlbpage.c | 2 +-
>> arch/sparc/mm/hugetlbpage.c | 2 +-
>> include/linux/hugetlb.h | 2 +-
>> mm/hugetlb.c | 6 +++---
>> mm/userfaultfd.c | 2 +-
>> 11 files changed, 16 insertions(+), 14 deletions(-)
>
> Sorry for the delay in reviewing.
>
> huge_pmd_share() will do a find_vma() to get the vma. So, it would be
> 'possible' to not add an extra argument to huge_pmd_alloc() and simply
> do the uffd_disable_huge_pmd_share() check inside vma_shareable. This
> would reduce the amount of modified code, but would not be as efficient.
> I prefer passing the vma argument as is done here.
>
> Reviewed-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>


Another thought.

We should pass the vma to huge_pmd_share to avoid the find_vma.

--
Mike Kravetz