The patch titled Subject: mm: change pudp_huge_get_and_clear_full take vm_area_struct as arg has been added to the -mm mm-unstable branch. Its filename is mm-change-pudp_huge_get_and_clear_full-take-vm_area_struct-as-arg.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-change-pudp_huge_get_and_clear_full-take-vm_area_struct-as-arg.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxx> Subject: mm: change pudp_huge_get_and_clear_full take vm_area_struct as arg Date: Tue, 25 Jul 2023 00:37:48 +0530 We will use this in a later patch to do tlb flush when clearing pud entries on powerpc. This is similar to commit 93a98695f2f9 ("mm: change pmdp_huge_get_and_clear_full take vm_area_struct as arg") Link: https://lkml.kernel.org/r/20230724190759.483013-3-aneesh.kumar@xxxxxxxxxxxxx Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> Reviewed-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Joao Martins <joao.m.martins@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Muchun Song <muchun.song@xxxxxxxxx> Cc: Nicholas Piggin <npiggin@xxxxxxxxx> Cc: Oscar Salvador <osalvador@xxxxxxx> Cc: Will Deacon <will@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/pgtable.h | 4 ++-- mm/debug_vm_pgtable.c | 2 +- mm/huge_memory.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) --- a/include/linux/pgtable.h~mm-change-pudp_huge_get_and_clear_full-take-vm_area_struct-as-arg +++ a/include/linux/pgtable.h @@ -456,11 +456,11 @@ static inline pmd_t pmdp_huge_get_and_cl #endif #ifndef __HAVE_ARCH_PUDP_HUGE_GET_AND_CLEAR_FULL -static inline pud_t pudp_huge_get_and_clear_full(struct mm_struct *mm, +static inline pud_t pudp_huge_get_and_clear_full(struct vm_area_struct *vma, unsigned long address, pud_t *pudp, int full) { - return pudp_huge_get_and_clear(mm, address, pudp); + return pudp_huge_get_and_clear(vma->vm_mm, address, pudp); } #endif #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ --- a/mm/debug_vm_pgtable.c~mm-change-pudp_huge_get_and_clear_full-take-vm_area_struct-as-arg +++ a/mm/debug_vm_pgtable.c @@ -385,7 +385,7 @@ static void __init pud_advanced_tests(st WARN_ON(!(pud_write(pud) && pud_dirty(pud))); #ifndef __PAGETABLE_PMD_FOLDED - pudp_huge_get_and_clear_full(args->mm, vaddr, args->pudp, 1); + pudp_huge_get_and_clear_full(args->vma, vaddr, args->pudp, 1); pud = READ_ONCE(*args->pudp); WARN_ON(!pud_none(pud)); #endif /* __PAGETABLE_PMD_FOLDED */ --- a/mm/huge_memory.c~mm-change-pudp_huge_get_and_clear_full-take-vm_area_struct-as-arg +++ a/mm/huge_memory.c @@ -1981,7 +1981,7 @@ int zap_huge_pud(struct mmu_gather *tlb, if (!ptl) return 0; - pudp_huge_get_and_clear_full(tlb->mm, addr, pud, tlb->fullmm); + pudp_huge_get_and_clear_full(vma, addr, pud, tlb->fullmm); tlb_remove_pud_tlb_entry(tlb, pud, addr); if (vma_is_special_huge(vma)) { spin_unlock(ptl); _ Patches currently in -mm which might be from aneesh.kumar@xxxxxxxxxxxxx are mm-hugepage-pud-allow-arch-specific-helper-function-to-check-huge-page-pud-support.patch mm-change-pudp_huge_get_and_clear_full-take-vm_area_struct-as-arg.patch mm-vmemmap-improve-vmemmap_can_optimize-and-allow-architectures-to-override.patch mm-vmemmap-allow-architectures-to-override-how-vmemmap-optimization-works.patch mm-add-pud_same-similar-to-__have_arch_p4d_same.patch mm-huge-pud-use-transparent-huge-pud-helpers-only-with-config_transparent_hugepage.patch mm-vmemmap-optimization-split-hugetlb-and-devdax-vmemmap-optimization.patch powerpc-mm-trace-convert-trace-event-to-trace-event-class.patch powerpc-book3s64-mm-enable-transparent-pud-hugepage.patch powerpc-book3s64-vmemmap-switch-radix-to-use-a-different-vmemmap-handling-function.patch powerpc-book3s64-radix-add-support-for-vmemmap-optimization-for-radix.patch powerpc-book3s64-radix-remove-mmu_vmemmap_psize.patch powerpc-book3s64-radix-add-debug-message-to-give-more-details-of-vmemmap-allocation.patch