diff options
author | Will Deacon <will.deacon@arm.com> | 2018-08-23 21:08:15 +0300 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2018-09-11 18:49:11 +0300 |
commit | d8289d3a5854a2a0ae144bff106a78738fe63050 (patch) | |
tree | d39b378097c2ce278c43c793c54bb8c012f3239a /arch/arm64/include/asm/tlbflush.h | |
parent | 0795edaf3f1ff1ea58048515211280db004bbd68 (diff) | |
download | linux-d8289d3a5854a2a0ae144bff106a78738fe63050.tar.xz |
arm64: tlb: Justify non-leaf invalidation in flush_tlb_range()
Add a comment to explain why we can't get away with last-level
invalidation in flush_tlb_range()
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>
Diffstat (limited to 'arch/arm64/include/asm/tlbflush.h')
-rw-r--r-- | arch/arm64/include/asm/tlbflush.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h index e257f8655b84..ddbf1718669d 100644 --- a/arch/arm64/include/asm/tlbflush.h +++ b/arch/arm64/include/asm/tlbflush.h @@ -182,6 +182,10 @@ static inline void __flush_tlb_range(struct vm_area_struct *vma, static inline void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) { + /* + * We cannot use leaf-only invalidation here, since we may be invalidating + * table entries as part of collapsing hugepages or moving page tables. + */ __flush_tlb_range(vma, start, end, false); } |