]> asedeno.scripts.mit.edu Git - linux.git/commit
arm64: tlbflush: Allow stride to be specified for __flush_tlb_range()
authorWill Deacon <will.deacon@arm.com>
Thu, 23 Aug 2018 18:26:21 +0000 (19:26 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 11 Sep 2018 15:49:11 +0000 (16:49 +0100)
commit67a902ac598dca056366a7342f401aa6f605072f
treec748c800db53cd3a9ee3c61d8bba481be1b54b02
parentd8289d3a5854a2a0ae144bff106a78738fe63050
arm64: tlbflush: Allow stride to be specified for __flush_tlb_range()

When we are unmapping intermediate page-table entries or huge pages, we
don't need to issue a TLBI instruction for every PAGE_SIZE chunk in the
VA range being unmapped.

Allow the invalidation stride to be passed to __flush_tlb_range(), and
adjust our "just nuke the ASID" heuristic to take this into account.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/tlb.h
arch/arm64/include/asm/tlbflush.h