On Fri, 11 Sep 2026 20:36:47 +0100 "Lorenzo Stoakes (ARM)" <[email protected]> 
wrote:

> The majority of architectures in the kernel defer page table freeing until
> an RCU grace period has elapsed, this series converts all remaining
> architectures to do so too and eliminates CONFIG_MMU_GATHER_RCU_TABLE_FREE
> altogether.

Thanks, I've updated mm.git's mm-unstable branch to this version.

> v3:
> * Added Kiryl's tag to series (thanks! :)
> * Corrected commit message, comment indentation in 11/12 as per Kiryl.
> * Corrected 12/12 documentation as per Kiryl.

Here's how v3 altered mm.git:


 Documentation/mm/process_addrs.rst |    4 ++--
 include/asm-generic/tlb.h          |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

--- a/Documentation/mm/process_addrs.rst~b
+++ a/Documentation/mm/process_addrs.rst
@@ -541,8 +541,8 @@ We establish basic locking rules when in
   after an RCU grace period has elapsed. However, any entry found must be
   revalidated after the page table lock is taken (such as the
   :c:func:`!pmd_same` recheck performed by :c:func:`!pte_offset_map_lock`)
-  before it is acted upon. Changing an entry always requires the page table
-  lock.
+  before it is acted upon. Changing an entry requires the page table
+  lock and one of the locks that excludes teardown (mmap or VMA lock).
 * Reads from and writes to page table entries must be *appropriately*
   atomic. See the section on atomicity below for details.
 * Populating previously empty entries requires that the mmap or VMA locks are
--- a/include/asm-generic/tlb.h~b
+++ a/include/asm-generic/tlb.h
@@ -151,8 +151,8 @@
  *  Page directories (__p*_free_tlb()) are always freed via tlb_remove_table(),
  *  after an RCU grace period (see mm/mmu_gather.c).
  *
- * This serialises against software page-table walkers, including architectures
- * which do not use IPIs for remote TLB invalidates.
+ *  This serialises against software page-table walkers, including 
architectures
+ *  which do not use IPIs for remote TLB invalidates.
  *
  *  An architecture is expected to provide __tlb_remove_table() (see
  *  HAVE_ARCH_TLB_REMOVE_TABLE) or use the generic __tlb_remove_table(), which
_


Reply via email to