[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1535645747-9823-5-git-send-email-will.deacon@arm.com>
Date: Thu, 30 Aug 2018 17:15:38 +0100
From: Will Deacon <will.deacon@....com>
To: linux-kernel@...r.kernel.org
Cc: peterz@...radead.org, benh@....ibm.com,
torvalds@...ux-foundation.org, npiggin@...il.com,
catalin.marinas@....com, linux-arm-kernel@...ts.infradead.org,
Will Deacon <will.deacon@....com>
Subject: [PATCH 04/12] 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()
Signed-off-by: Will Deacon <will.deacon@....com>
---
arch/arm64/include/asm/tlbflush.h | 4 ++++
1 file changed, 4 insertions(+)
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);
}
--
2.1.4
Powered by blists - more mailing lists