Thread (25 messages) 25 messages, 8 authors, 2018-09-07

Re: [RFC PATCH 2/2] mm: mmu_notifier fix for tlb_end_vma (build failures)

From: Will Deacon <hidden>
Date: 2018-08-24 13:10:37
Also in: linux-arch, linux-riscv, lkml
Subsystem: mmu gather and tlb invalidation, risc-v architecture, the rest · Maintainers: Will Deacon, "Aneesh Kumar K.V", Andrew Morton, Nick Piggin, Peter Zijlstra, Paul Walmsley, Palmer Dabbelt, Albert Ou, Linus Torvalds

On Fri, Aug 24, 2018 at 06:07:22AM -0700, Guenter Roeck wrote:
On Thu, Aug 23, 2018 at 06:47:09PM +1000, Nicholas Piggin wrote:
quoted
The generic tlb_end_vma does not call invalidate_range mmu notifier,
and it resets resets the mmu_gather range, which means the notifier
won't be called on part of the range in case of an unmap that spans
multiple vmas.

ARM64 seems to be the only arch I could see that has notifiers and
uses the generic tlb_end_vma. I have not actually tested it.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Acked-by: Will Deacon <redacted>
This patch breaks riscv builds in mainline.
Looks very similar to the breakage we hit on arm64. diff below should fix
it.

Will

--->*
diff --git a/arch/riscv/include/asm/tlb.h b/arch/riscv/include/asm/tlb.h
index c229509288ea..5017060be63c 100644
--- a/arch/riscv/include/asm/tlb.h
+++ b/arch/riscv/include/asm/tlb.h
@@ -14,11 +14,11 @@
 #ifndef _ASM_RISCV_TLB_H
 #define _ASM_RISCV_TLB_H
 
-#include <asm-generic/tlb.h>
-
 static inline void tlb_flush(struct mmu_gather *tlb)
 {
 	flush_tlb_mm(tlb->mm);
 }
 
+#include <asm-generic/tlb.h>
+
 #endif /* _ASM_RISCV_TLB_H */
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help