Re: [PATCH 05/17] asm-generic/tlb: Rename HAVE_RCU_TABLE_NO_INVALIDATE

From: Aneesh Kumar K.V
Date: Mon Dec 16 2019 - 08:14:40 EST


On 12/16/19 6:07 PM, Peter Zijlstra wrote:
On Mon, Dec 16, 2019 at 06:01:58PM +0530, Aneesh Kumar K.V wrote:
Peter Zijlstra <peterz@xxxxxxxxxxxxx> writes:

Towards a more consistent naming scheme.

Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
---
arch/Kconfig | 3 ++-
arch/powerpc/Kconfig | 2 +-
arch/sparc/Kconfig | 2 +-
include/asm-generic/tlb.h | 2 +-
mm/mmu_gather.c | 2 +-
5 files changed, 6 insertions(+), 5 deletions(-)

--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -396,8 +396,9 @@ config HAVE_ARCH_JUMP_LABEL_RELATIVE
config MMU_GATHER_RCU_TABLE_FREE
bool
-config HAVE_RCU_TABLE_NO_INVALIDATE
+config MMU_GATHER_NO_TABLE_INVALIDATE
bool
+ depends on MMU_GATHER_RCU_TABLE_FREE


Can we drop this Kernel config option instead use
MMU_GATHER_RCU_TABLE_FREE? IMHO reducing the kernel config related to
mmu_gather can reduce the complexity.

I'm confused, are you saing you're happy to have PowerPC eat the extra
TLB invalidates? I thought you cared about PPC performance :-)



Instead can we do

static inline void tlb_table_invalidate(struct mmu_gather *tlb)
{
#ifndef CONFIG_MMU_GATHER_RCU_TABLE_FREE
* Invalidate page-table caches used by hardware walkers. Then we still
* need to RCU-sched wait while freeing the pages because software
* walkers can still be in-flight.
*/
tlb_flush_mmu_tlbonly(tlb);
#endif
}

-aneesh