aboutsummaryrefslogtreecommitdiffstats
path: root/mm/hugetlb.c
diff options
context:
space:
mode:
authorRyan Roberts <[email protected]>2025-02-26 12:06:53 +0000
committerWill Deacon <[email protected]>2025-02-27 17:40:58 +0000
commiteed6bfa8b28230382b797a88569f2c7569a1a419 (patch)
tree9b4ff6d022ee2bba9dc67aa5086397d8425ceba6 /mm/hugetlb.c
parentarm64: hugetlb: Fix huge_ptep_get_and_clear() for non-present ptes (diff)
downloadkernel-eed6bfa8b28230382b797a88569f2c7569a1a419.tar.gz
kernel-eed6bfa8b28230382b797a88569f2c7569a1a419.zip
arm64: hugetlb: Fix flush_hugetlb_tlb_range() invalidation level
commit c910f2b65518 ("arm64/mm: Update tlb invalidation routines for FEAT_LPA2") changed the "invalidation level unknown" hint from 0 to TLBI_TTL_UNKNOWN (INT_MAX). But the fallback "unknown level" path in flush_hugetlb_tlb_range() was not updated. So as it stands, when trying to invalidate CONT_PMD_SIZE or CONT_PTE_SIZE hugetlb mappings, we will spuriously try to invalidate at level 0 on LPA2-enabled systems. Fix this so that the fallback passes TLBI_TTL_UNKNOWN, and while we are at it, explicitly use the correct stride and level for CONT_PMD_SIZE and CONT_PTE_SIZE, which should provide a minor optimization. Cc: [email protected] Fixes: c910f2b65518 ("arm64/mm: Update tlb invalidation routines for FEAT_LPA2") Reviewed-by: Anshuman Khandual <[email protected]> Reviewed-by: Catalin Marinas <[email protected]> Signed-off-by: Ryan Roberts <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'mm/hugetlb.c')
0 files changed, 0 insertions, 0 deletions