diff options
| author | Ryan Roberts <[email protected]> | 2025-02-26 12:06:53 +0000 |
|---|---|---|
| committer | Will Deacon <[email protected]> | 2025-02-27 17:40:58 +0000 |
| commit | eed6bfa8b28230382b797a88569f2c7569a1a419 (patch) | |
| tree | 9b4ff6d022ee2bba9dc67aa5086397d8425ceba6 /mm/hugetlb.c | |
| parent | arm64: hugetlb: Fix huge_ptep_get_and_clear() for non-present ptes (diff) | |
| download | kernel-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
