From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-mw2nam10on2045.outbound.protection.outlook.com ([40.107.94.45]:7136 "EHLO NAM10-MW2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232426AbhAaBJD (ORCPT ); Sat, 30 Jan 2021 20:09:03 -0500 From: Nadav Amit Subject: Re: [RFC 00/20] TLB batching consolidation and enhancements Date: Sun, 31 Jan 2021 01:08:08 +0000 Message-ID: <34961389-0BFD-4F30-84AF-FB2FE5B07949@vmware.com> References: <20210131001132.3368247-1-namit@vmware.com> In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 List-ID: To: Andy Lutomirski Cc: Linux-MM , LKML , Andrea Arcangeli , Andrew Morton , Dave Hansen , "linux-csky@vger.kernel.org" , linuxppc-dev , linux-s390 , Mel Gorman , Nick Piggin , Peter Zijlstra , Thomas Gleixner , Will Deacon , X86 ML , Yu Zhao > On Jan 30, 2021, at 4:39 PM, Andy Lutomirski wrote: >=20 > On Sat, Jan 30, 2021 at 4:16 PM Nadav Amit wrote: >> From: Nadav Amit >>=20 >> There are currently (at least?) 5 different TLB batching schemes in the >> kernel: >>=20 >> 1. Using mmu_gather (e.g., zap_page_range()). >>=20 >> 2. Using {inc|dec}_tlb_flush_pending() to inform other threads on the >> ongoing deferred TLB flush and flushing the entire range eventually >> (e.g., change_protection_range()). >>=20 >> 3. arch_{enter|leave}_lazy_mmu_mode() for sparc and powerpc (and Xen?). >>=20 >> 4. Batching per-table flushes (move_ptes()). >>=20 >> 5. By setting a flag on that a deferred TLB flush operation takes place, >> flushing when (try_to_unmap_one() on x86). >=20 > Are you referring to the arch_tlbbatch_add_mm/flush mechanism? Yes.