Re: [RFC 00/20] TLB batching consolidation and enhancements
From: Andy Lutomirski <luto@kernel.org>
Date: 2021-01-31 00:41:13
Also in:
linux-mm, linuxppc-dev, lkml
From: Andy Lutomirski <luto@kernel.org>
Date: 2021-01-31 00:41:13
Also in:
linux-mm, linuxppc-dev, lkml
On Sat, Jan 30, 2021 at 4:16 PM Nadav Amit [off-list ref] wrote:
From: Nadav Amit <redacted>
There are currently (at least?) 5 different TLB batching schemes in the
kernel:
1. Using mmu_gather (e.g., zap_page_range()).
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()).
3. arch_{enter|leave}_lazy_mmu_mode() for sparc and powerpc (and Xen?).
4. Batching per-table flushes (move_ptes()).
5. By setting a flag on that a deferred TLB flush operation takes place,
flushing when (try_to_unmap_one() on x86).Are you referring to the arch_tlbbatch_add_mm/flush mechanism?