summaryrefslogtreecommitdiff
path: root/include/asm-generic/tlb.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2018-09-19 13:24:41 +0200
committerIngo Molnar <mingo@kernel.org>2019-04-03 10:32:47 +0200
commit96bc9567cbe112e9320250f01b9c060c882e8619 (patch)
tree7948ca705fc25538b784b4f28dd62a2c5ec88b97 /include/asm-generic/tlb.h
parent8b6dd0c47894e2c190560914318aa4181bc8c2f2 (diff)
downloadlwn-96bc9567cbe112e9320250f01b9c060c882e8619.tar.gz
lwn-96bc9567cbe112e9320250f01b9c060c882e8619.zip
asm-generic/tlb, arch: Invert CONFIG_HAVE_RCU_TABLE_INVALIDATE
Make issuing a TLB invalidate for page-table pages the normal case. The reason is twofold: - too many invalidates is safer than too few, - most architectures use the linux page-tables natively and would thus require this. Make it an opt-out, instead of an opt-in. No change in behavior intended. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Will Deacon <will.deacon@arm.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rik van Riel <riel@surriel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/asm-generic/tlb.h')
-rw-r--r--include/asm-generic/tlb.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h
index 1c861989b704..81799e6a4304 100644
--- a/include/asm-generic/tlb.h
+++ b/include/asm-generic/tlb.h
@@ -135,11 +135,12 @@
* When used, an architecture is expected to provide __tlb_remove_table()
* which does the actual freeing of these pages.
*
- * HAVE_RCU_TABLE_INVALIDATE
+ * HAVE_RCU_TABLE_NO_INVALIDATE
*
- * This makes HAVE_RCU_TABLE_FREE call tlb_flush_mmu_tlbonly() before freeing
- * the page-table pages. Required if you use HAVE_RCU_TABLE_FREE and your
- * architecture uses the Linux page-tables natively.
+ * This makes HAVE_RCU_TABLE_FREE avoid calling tlb_flush_mmu_tlbonly() before
+ * freeing the page-table pages. This can be avoided if you use
+ * HAVE_RCU_TABLE_FREE and your architecture does _NOT_ use the Linux
+ * page-tables natively.
*
* MMU_GATHER_NO_RANGE
*