Re: [RFC PATCH 2/2] mm/mmu_gather: Avoid multiple page walk cache flush

From: Aneesh Kumar K.V
Date: Tue Dec 17 2019 - 05:16:00 EST


On 12/17/19 2:28 PM, Peter Zijlstra wrote:
On Tue, Dec 17, 2019 at 12:47:13PM +0530, Aneesh Kumar K.V wrote:
On tlb_finish_mmu() kernel does a tlb flush before mmu gather table invalidate.
The mmu gather table invalidate depending on kernel config also does another
TLBI. Avoid the later on tlb_finish_mmu().

That is already avoided, if you look at tlb_flush_mmu_tlbonly() it does
__tlb_range_reset(), which results in ->end = 0, which then triggers the
early exit on the next invocation:

if (!tlb->end)
return;


Is that true for tlb->fulmm flush?

-aneesh