[PATCH v2 0/4] Fixes for hugetlb and vmalloc on arm64

From: Ryan Roberts
Date: Mon Feb 17 2025 - 09:06:47 EST


Hi All,

This series contains some fixes for hugetlb on arm64, and is split out from v1
of a wider series at [1]. While the last patch is technically targetting core-mm
and is not directly related to arm64, I'd like to to go via the arm64 tree so
that the wider performance improvement series (v2 to be posted shortly) that
depends on this series doesn't have to be robust to the fix not being present.

I've included maintainers/reviewers for all the arches that are (trivially)
touched due to the API changes, hoping for some ACKs.

Changes since v1 [1]
====================
- Added Rb from Anshuman - Thanks!
- Added "#ifndef __PAGETABLE_PMD_FOLDED" around PUD_SIZE in flush_hugetlb_tlb_range()

I've marked all of these as candidates for backport to stable.

Applies on top of v6.14-rc3. All mm selftests run and pass.

[1] https://lore.kernel.org/linux-arm-kernel/20250205151003.88959-1-ryan.roberts@xxxxxxx/

Thanks,
Ryan

Ryan Roberts (4):
mm: hugetlb: Add huge page size param to huge_ptep_get_and_clear()
arm64: hugetlb: Fix huge_ptep_get_and_clear() for non-present ptes
arm64: hugetlb: Fix flush_hugetlb_tlb_range() invalidation level
mm: Don't skip arch_sync_kernel_mappings() in error paths

arch/arm64/include/asm/hugetlb.h | 26 ++++++++++-----
arch/arm64/mm/hugetlbpage.c | 48 +++++++++++++---------------
arch/loongarch/include/asm/hugetlb.h | 6 ++--
arch/mips/include/asm/hugetlb.h | 6 ++--
arch/parisc/include/asm/hugetlb.h | 2 +-
arch/parisc/mm/hugetlbpage.c | 2 +-
arch/powerpc/include/asm/hugetlb.h | 6 ++--
arch/riscv/include/asm/hugetlb.h | 3 +-
arch/riscv/mm/hugetlbpage.c | 2 +-
arch/s390/include/asm/hugetlb.h | 12 ++++---
arch/s390/mm/hugetlbpage.c | 10 ++++--
arch/sparc/include/asm/hugetlb.h | 2 +-
arch/sparc/mm/hugetlbpage.c | 2 +-
include/asm-generic/hugetlb.h | 2 +-
include/linux/hugetlb.h | 4 ++-
mm/hugetlb.c | 4 +--
mm/memory.c | 6 ++--
mm/vmalloc.c | 4 +--
18 files changed, 87 insertions(+), 60 deletions(-)

--
2.43.0