Re: [PATCH v2 1/6] mm/huge_memory.c: rework the function vma_adjust_trans_huge()

From: Peter Xu
Date: Tue Mar 16 2021 - 16:41:36 EST


On Tue, Mar 16, 2021 at 08:40:02AM -0400, Miaohe Lin wrote:
> +static inline void split_huge_pmd_if_needed(struct vm_area_struct *vma, unsigned long address)
> +{
> + /*
> + * If the new address isn't hpage aligned and it could previously
> + * contain an hugepage: check if we need to split an huge pmd.
> + */
> + if (address & ~HPAGE_PMD_MASK &&
> + range_in_vma(vma, address & HPAGE_PMD_MASK,
> + (address & HPAGE_PMD_MASK) + HPAGE_PMD_SIZE))

Since you're at it, maybe use ALIGN/ALIGN_DOWN too against HPAGE_PMD_SIZE?

> + split_huge_pmd_address(vma, address, false, NULL);
> +}

--
Peter Xu