From: Will Deacon Date: Thu, 23 Aug 2018 18:08:15 +0000 (+0100) Subject: arm64: tlb: Justify non-leaf invalidation in flush_tlb_range() X-Git-Tag: v5.15~7637^2~67 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d8289d3a5854a2a0ae144bff106a78738fe63050;p=platform%2Fkernel%2Flinux-starfive.git 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) Signed-off-by: Will Deacon Signed-off-by: Catalin Marinas --- diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h index e257f86..ddbf171 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); }