]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
arm64: tlb: Justify non-leaf invalidation in flush_tlb_range()
authorWill Deacon <will.deacon@arm.com>
Thu, 23 Aug 2018 18:08:15 +0000 (19:08 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 11 Sep 2018 15:49:11 +0000 (16:49 +0100)
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>
arch/arm64/include/asm/tlbflush.h

index e257f8655b841ca3da1aa2053755cf8f0a0540a4..ddbf1718669d4abe76a221bf4ae9f10bc8f4b673 100644 (file)
@@ -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);
 }