[PATCH v3 00/13] arm64: Refactor TLB invalidation API and implementation

Catalin Marinas catalin.marinas at arm.com
Fri Mar 13 12:43:41 PDT 2026


On Mon, 02 Mar 2026 13:55:47 +0000, Ryan Roberts wrote:
> This series refactors the TLB invalidation API to make it more general and
> flexible, and refactors the implementation, aiming to make it more robust,
> easier to understand and easier to add new features in future.
> 
> It is heavily based on the series posted by Will back in July at [1]; I've
> attempted to maintain correct authorship and tags - apologies if I got any of
> the etiquette wrong.
> 
> [...]

Applied to arm64 (for-next/tlbflush), thanks!

Slight tweak to patch 13 around the last-level vs level 3 comment (both
source comment and the commit log).

[01/13] arm64: mm: Re-implement the __tlbi_level macro as a C function
        https://git.kernel.org/arm64/c/5b3fb8a6b429
[02/13] arm64: mm: Introduce a C wrapper for by-range TLB invalidation
        https://git.kernel.org/arm64/c/d2bf3226952c
[03/13] arm64: mm: Implicitly invalidate user ASID based on TLBI operation
        https://git.kernel.org/arm64/c/edc55b7abb25
[04/13] arm64: mm: Push __TLBI_VADDR() into __tlbi_level()
        https://git.kernel.org/arm64/c/a3710035604f
[05/13] arm64: mm: Inline __TLBI_VADDR_RANGE() into __tlbi_range()
        https://git.kernel.org/arm64/c/d4b048ca145f
[06/13] arm64: mm: Re-implement the __flush_tlb_range_op macro in C
        https://git.kernel.org/arm64/c/5e63b73f3deb
[07/13] arm64: mm: Simplify __TLBI_RANGE_NUM() macro
        https://git.kernel.org/arm64/c/057bbd8e0610
[08/13] arm64: mm: Simplify __flush_tlb_range_limit_excess()
        https://git.kernel.org/arm64/c/c753d667d959
[09/13] arm64: mm: Refactor flush_tlb_page() to use __tlbi_level_asid()
        https://git.kernel.org/arm64/c/64212d689306
[10/13] arm64: mm: Refactor __flush_tlb_range() to take flags
        https://git.kernel.org/arm64/c/11f6dd8dd283
[11/13] arm64: mm: More flags for __flush_tlb_range()
        https://git.kernel.org/arm64/c/0477fc56960d
[12/13] arm64: mm: Wrap flush_tlb_page() around __do_flush_tlb_range()
        https://git.kernel.org/arm64/c/15397e3c3850
[13/13] arm64: mm: Provide level hint for flush_tlb_page()
        https://git.kernel.org/arm64/c/752a0d1d483e

-- 
Catalin



More information about the linux-arm-kernel mailing list