diff for duplicates of <20200116064531.483522-3-aneesh.kumar@linux.ibm.com> diff --git a/a/1.txt b/N1/1.txt index 8b485e7..99ef48e 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -40,13 +40,13 @@ index 48b5e103bdb0..208aad121630 100644 @@ -396,9 +396,6 @@ config HAVE_ARCH_JUMP_LABEL_RELATIVE config HAVE_RCU_TABLE_FREE bool - + -config HAVE_RCU_TABLE_NO_INVALIDATE - bool - config HAVE_MMU_GATHER_PAGE_SIZE bool - + diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 04240205f38c..f9970f87612e 100644 --- a/arch/powerpc/Kconfig @@ -64,7 +64,7 @@ index b2c0be93929d..7f3a8b902325 100644 --- a/arch/powerpc/include/asm/tlb.h +++ b/arch/powerpc/include/asm/tlb.h @@ -26,6 +26,17 @@ - + #define tlb_flush tlb_flush extern void tlb_flush(struct mmu_gather *tlb); +/* @@ -78,7 +78,7 @@ index b2c0be93929d..7f3a8b902325 100644 + * add the page table pages to mmu gather table batch. + */ +#define tlb_needs_table_invalidate() radix_enabled() - + /* Get the generic bits... */ #include <asm-generic/tlb.h> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig @@ -100,7 +100,7 @@ index a2f3fa61ee36..8cb8f3833239 100644 @@ -28,6 +28,15 @@ void flush_tlb_pending(void); #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) #define tlb_flush(tlb) flush_tlb_pending() - + +/* + * SPARC64's hardware TLB fill does not use the Linux page-tables + * and therefore we don't need a TLBI when freeing page-table pages. @@ -111,7 +111,7 @@ index a2f3fa61ee36..8cb8f3833239 100644 +#endif + #include <asm-generic/tlb.h> - + #endif /* _SPARC64_TLB_H */ diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index 2b10036fefd0..9e22ac369d1d 100644 @@ -132,9 +132,9 @@ index 2b10036fefd0..9e22ac369d1d 100644 * * Use this if your architecture lacks an efficient flush_tlb_range(). @@ -189,8 +182,23 @@ struct mmu_table_batch { - + extern void tlb_remove_table(struct mmu_gather *tlb, void *table); - + +/* + * This allows an architecture that does not use the linux page-tables for + * hardware to skip the TLBI when freeing page tables. @@ -148,7 +148,7 @@ index 2b10036fefd0..9e22ac369d1d 100644 +#ifdef tlb_needs_table_invalidate +#error tlb_needs_table_invalidate() requires HAVE_RCU_TABLE_FREE #endif - + +#endif /* CONFIG_HAVE_RCU_TABLE_FREE */ + + @@ -180,7 +180,7 @@ index 7d70e5c78f97..7c1b8f67af7b 100644 + tlb_flush_mmu_tlbonly(tlb); + } } - + static void tlb_remove_table_smp_sync(void *arg) -- 2.24.1 diff --git a/a/content_digest b/N1/content_digest index a8613ed..dcb924d 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -56,13 +56,13 @@ "@@ -396,9 +396,6 @@ config HAVE_ARCH_JUMP_LABEL_RELATIVE\n" " config HAVE_RCU_TABLE_FREE\n" " \tbool\n" - " \n" + "\n" "-config HAVE_RCU_TABLE_NO_INVALIDATE\n" "-\tbool\n" "-\n" " config HAVE_MMU_GATHER_PAGE_SIZE\n" " \tbool\n" - " \n" + "\n" "diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig\n" "index 04240205f38c..f9970f87612e 100644\n" "--- a/arch/powerpc/Kconfig\n" @@ -80,7 +80,7 @@ "--- a/arch/powerpc/include/asm/tlb.h\n" "+++ b/arch/powerpc/include/asm/tlb.h\n" "@@ -26,6 +26,17 @@\n" - " \n" + "\n" " #define tlb_flush tlb_flush\n" " extern void tlb_flush(struct mmu_gather *tlb);\n" "+/*\n" @@ -94,7 +94,7 @@ "+ * add the page table pages to mmu gather table batch.\n" "+ */\n" "+#define tlb_needs_table_invalidate()\tradix_enabled()\n" - " \n" + "\n" " /* Get the generic bits... */\n" " #include <asm-generic/tlb.h>\n" "diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig\n" @@ -116,7 +116,7 @@ "@@ -28,6 +28,15 @@ void flush_tlb_pending(void);\n" " #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)\n" " #define tlb_flush(tlb)\tflush_tlb_pending()\n" - " \n" + "\n" "+/*\n" "+ * SPARC64's hardware TLB fill does not use the Linux page-tables\n" "+ * and therefore we don't need a TLBI when freeing page-table pages.\n" @@ -127,7 +127,7 @@ "+#endif\n" "+\n" " #include <asm-generic/tlb.h>\n" - " \n" + "\n" " #endif /* _SPARC64_TLB_H */\n" "diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h\n" "index 2b10036fefd0..9e22ac369d1d 100644\n" @@ -148,9 +148,9 @@ " *\n" " * Use this if your architecture lacks an efficient flush_tlb_range().\n" "@@ -189,8 +182,23 @@ struct mmu_table_batch {\n" - " \n" + "\n" " extern void tlb_remove_table(struct mmu_gather *tlb, void *table);\n" - " \n" + "\n" "+/*\n" "+ * This allows an architecture that does not use the linux page-tables for\n" "+ * hardware to skip the TLBI when freeing page tables.\n" @@ -164,7 +164,7 @@ "+#ifdef tlb_needs_table_invalidate\n" "+#error tlb_needs_table_invalidate() requires HAVE_RCU_TABLE_FREE\n" " #endif\n" - " \n" + "\n" "+#endif /* CONFIG_HAVE_RCU_TABLE_FREE */\n" "+\n" "+\n" @@ -196,9 +196,9 @@ "+\t\ttlb_flush_mmu_tlbonly(tlb);\n" "+\t}\n" " }\n" - " \n" + "\n" " static void tlb_remove_table_smp_sync(void *arg)\n" "-- \n" 2.24.1 -b3db7460de752d2f8b6aadd386e5b0ac2493ad7adac59fdde2e58f9b477dcd55 +2d62ab77d54745e18e0a8f1aadd69686d54ede94e54347f458457d4f50026274
diff --git a/a/content_digest b/N2/content_digest index a8613ed..22237de 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -6,12 +6,12 @@ peterz@infradead.org will@kernel.org " mpe@ellerman.id.au\0" - "Cc\0linux-mm@kvack.org" + "Cc\0linux-arch@vger.kernel.org" + Aneesh Kumar K . V <aneesh.kumar@linux.ibm.com> linux-kernel@vger.kernel.org - linux-arch@vger.kernel.org - linuxppc-dev@lists.ozlabs.org stable@vger.kernel.org - " Aneesh Kumar K . V <aneesh.kumar@linux.ibm.com>\0" + linux-mm@kvack.org + " linuxppc-dev@lists.ozlabs.org\0" "\00:1\0" "b\0" "From: Peter Zijlstra <peterz@infradead.org>\n" @@ -201,4 +201,4 @@ "-- \n" 2.24.1 -b3db7460de752d2f8b6aadd386e5b0ac2493ad7adac59fdde2e58f9b477dcd55 +679a817ac7783ebe68b56197bbdd8753dee88fd5bdb79a2023dba7dbafcb0aac
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.