Re: [PATCH v10 26/37] mm: vma_alloc_anon_folio_pmd: pass raw fault address to vma_alloc_folio
From: Lorenzo Stoakes
Date: Mon Jun 08 2026 - 08:37:31 EST
On Mon, Jun 08, 2026 at 04:39:10AM -0400, Michael S. Tsirkin wrote:
> Drop the redundant HPAGE_PMD_MASK alignment at the callsite.
> NUMA interleave is not affected by the raw address; the ilx
> calculation shifts addr >> PAGE_SHIFT >> order, dropping
> sub-page bits regardless of alignment. post_alloc_hook will
> use the raw address for cache-friendly zeroing.
But then what's the point in this change?
And why are we changing what we pass in this parameter but not the
vma_alloc_folio() kdoc?
>
> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> Assisted-by: Claude:claude-opus-4-6
> Reviewed-by: Gregory Price <gourry@xxxxxxxxxx>
> ---
> mm/huge_memory.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> index 970e077019b7..d689e6491ddb 100644
> --- a/mm/huge_memory.c
> +++ b/mm/huge_memory.c
> @@ -1337,7 +1337,7 @@ static struct folio *vma_alloc_anon_folio_pmd(struct vm_area_struct *vma,
> const int order = HPAGE_PMD_ORDER;
> struct folio *folio;
>
> - folio = vma_alloc_folio(gfp, order, vma, addr & HPAGE_PMD_MASK);
> + folio = vma_alloc_folio(gfp, order, vma, addr);
>
> if (unlikely(!folio)) {
> count_vm_event(THP_FAULT_FALLBACK);
> --
> MST
>
Thanks, Lorenzo