From: Lance Yang <lance.yang@linux.dev>
To: ljs@kernel.org
Cc: akpm@linux-foundation.org, david@kernel.org, ziy@nvidia.com,
baolin.wang@linux.alibaba.com, liam@infradead.org,
nico.pache@linux.dev, ryan.roberts@arm.com, dev.jain@arm.com,
baohua@kernel.org, lance.yang@linux.dev, usama.arif@linux.dev,
kas@kernel.org, guoren@kernel.org, bcain@kernel.org,
geert@linux-m68k.org, dinguyen@kernel.org,
schuster.simon@siemens-energy.com, jonas@southpole.se,
stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
dalias@libc.org, glaubitz@physik.fu-berlin.de, pjw@kernel.org,
palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr,
linux@armlinux.org.uk, vgupta@kernel.org, monstr@monstr.eu,
chris@zankel.net, jcmvbkbc@gmail.com, will@kernel.org,
aneesh.kumar@kernel.org, npiggin@gmail.com, peterz@infradead.org,
davem@davemloft.net, andreas@gaisler.com,
richard.henderson@linaro.org, mattst88@gmail.com,
linmag7@gmail.com, catalin.marinas@arm.com, mark.rutland@arm.com,
chenhuacai@kernel.org, kernel@xen0n.name,
tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com,
deller@gmx.de, maddy@linux.ibm.com, mpe@ellerman.id.au,
chleroy@kernel.org, hca@linux.ibm.com, gor@linux.ibm.com,
agordeev@linux.ibm.com, borntraeger@linux.ibm.com,
svens@linux.ibm.com, richard@nod.at,
anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net,
tglx@kernel.org, mingo@redhat.com, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
arnd@arndb.de, vbabka@kernel.org, rppt@kernel.org,
surenb@google.com, mhocko@suse.com, jgg@ziepe.ca,
jhubbard@nvidia.com, peterx@redhat.com,
ysato@users.sourceforge.jp, shakeel.butt@linux.dev,
corbet@lwn.net, rdunlap@infradead.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
linux-openrisc@vger.kernel.org, linux-sh@vger.kernel.org,
linux-riscv@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-snps-arc@lists.infradead.org, linux-arch@vger.kernel.org,
sparclinux@vger.kernel.org, linux-alpha@vger.kernel.org,
loongarch@lists.linux.dev, linux-mips@vger.kernel.org,
linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-s390@vger.kernel.org, linux-um@lists.infradead.org,
hughd@google.com, qi.zheng@linux.dev, linux-doc@vger.kernel.org
Subject: Re: [PATCH v4 12/12] mm: change the contract for free_pgtables(), update docs
Date: Thu, 24 Sep 2026 11:26:25 +0800 [thread overview]
Message-ID: <20260924032625.28555-1-lance.yang@linux.dev> (raw)
In-Reply-To: <20260922-rcu-pagetable-freeing-v4-12-fe1ad1f1e303@kernel.org>
On Tue, Sep 22, 2026 at 04:35:43PM +0100, Lorenzo Stoakes (ARM) wrote:
>Now that page tables are freed after an RCU grace period, it is safe for
>read-only page table walkers to walk page table ranges that are being
>concurrently torn down, provided the mm is kept alive via mmgrab().
>
>It is however unsafe for writers to do so, as they must obtain an
>appropriate lock to do so safely.
>
>Update the pte_offset_map_lock()'s comment block to reflect this.
>
>Similarly update the process addresses documentation.
>
>Acked-by: Kiryl Shutsemau (Meta) <kas@kernel.org>
>Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
>---
> Documentation/mm/process_addrs.rst | 6 ++++++
> mm/pgtable-generic.c | 15 +++++++++++----
> 2 files changed, 17 insertions(+), 4 deletions(-)
>
>diff --git a/Documentation/mm/process_addrs.rst b/Documentation/mm/process_addrs.rst
>index a7296f251799..b1f4f44d75eb 100644
>--- a/Documentation/mm/process_addrs.rst
>+++ b/Documentation/mm/process_addrs.rst
>@@ -537,6 +537,12 @@ We establish basic locking rules when interacting with page tables:
> * When changing a page table entry the page table lock for that page table
> **must** be held, except if you can safely assume nobody can access the page
> tables concurrently (such as on invocation of :c:func:`!free_pgtables`).
>+* Page tables may be *walked* under RCU alone, as page tables are freed only
>+ 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 requires the page table
>+ lock and one of the locks that excludes teardown (mmap or VMA lock).
What about rmap walkers? try_to_unmap() clears PTEs under the rmap lock
and PTL, without an mmap or VMA lock.
Cheers, Lance
> * 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
>diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c
>index b91b1a98029c..a127e3e8f9b9 100644
>--- a/mm/pgtable-generic.c
>+++ b/mm/pgtable-generic.c
>@@ -385,10 +385,17 @@ pte_t *pte_offset_map_rw_nolock(struct mm_struct *mm, pmd_t *pmd,
> * Note: "RO" / "RW" expresses the intended semantics, not that the *kmap* will
> * be read-only/read-write protected.
> *
>- * Note that free_pgtables(), used after unmapping detached vmas, or when
>- * exiting the whole mm, does not take page table lock before freeing a page
>- * table, and may not use RCU at all: "outsiders" like khugepaged should avoid
>- * pte_offset_map() and co once the vma is detached from mm or mm_users is zero.
>+ * Note that free_pgtables(), used after unmapping detached vmas or when exiting
>+ * the whole mm, does not take a page table lock before freeing a page table.
>+ *
>+ * As page table freeing itself is RCU-safe, page table readers can safely run
>+ * concurrently with page table teardown.
>+ *
>+ * However, writers CANNOT as, without a lock being held, nothing prevents
>+ * concurrent teardown.
>+ *
>+ * Also note that the PGD itself is freed at mmdrop() time, not under RCU - so
>+ * the walker must keep the mm alive either by pinning the mm or the VMA.
> */
> pte_t *pte_offset_map_lock(struct mm_struct *mm, pmd_t *pmd,
> unsigned long addr, spinlock_t **ptlp)
>
>--
>2.55.0
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Lance Yang <lance.yang@linux.dev>
To: ljs@kernel.org
Cc: akpm@linux-foundation.org, david@kernel.org, ziy@nvidia.com,
baolin.wang@linux.alibaba.com, liam@infradead.org,
nico.pache@linux.dev, ryan.roberts@arm.com, dev.jain@arm.com,
baohua@kernel.org, lance.yang@linux.dev, usama.arif@linux.dev,
kas@kernel.org, guoren@kernel.org, bcain@kernel.org,
geert@linux-m68k.org, dinguyen@kernel.org,
schuster.simon@siemens-energy.com, jonas@southpole.se,
stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
dalias@libc.org, glaubitz@physik.fu-berlin.de, pjw@kernel.org,
palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr,
linux@armlinux.org.uk, vgupta@kernel.org, monstr@monstr.eu,
chris@zankel.net, jcmvbkbc@gmail.com, will@kernel.org,
aneesh.kumar@kernel.org, npiggin@gmail.com, peterz@infradead.org,
davem@davemloft.net, andreas@gaisler.com,
richard.henderson@linaro.org, mattst88@gmail.com,
linmag7@gmail.com, catalin.marinas@arm.com, mark.rutland@arm.com,
chenhuacai@kernel.org, kernel@xen0n.name,
tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com,
deller@gmx.de, maddy@linux.ibm.com, mpe@ellerman.id.au,
chleroy@kernel.org, hca@linux.ibm.com, gor@linux.ibm.com,
agordeev@linux.ibm.com, borntraeger@linux.ibm.com,
svens@linux.ibm.com, richard@nod.at,
anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net,
tglx@kernel.org, mingo@redhat.com, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
arnd@arndb.de, vbabka@kernel.org, rppt@kernel.org,
surenb@google.com, mhocko@suse.com, jgg@ziepe.ca,
jhubbard@nvidia.com, peterx@redhat.com,
ysato@users.sourceforge.jp, shakeel.butt@linux.dev,
corbet@lwn.net, rdunlap@infradead.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
linux-openrisc@vger.kernel.org, linux-sh@vger.kernel.org,
linux-riscv@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-snps-arc@lists.infradead.org, linux-arch@vger.kernel.org,
sparclinux@vger.kernel.org, linux-alpha@vger.kernel.org,
loongarch@lists.linux.dev, linux-mips@vger.kernel.org,
linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-s390@vger.kernel.org, linux-um@lists.infradead.org,
hughd@google.com, qi.zheng@linux.dev, linux-doc@vger.kernel.org
Subject: Re: [PATCH v4 12/12] mm: change the contract for free_pgtables(), update docs
Date: Thu, 24 Sep 2026 11:26:25 +0800 [thread overview]
Message-ID: <20260924032625.28555-1-lance.yang@linux.dev> (raw)
In-Reply-To: <20260922-rcu-pagetable-freeing-v4-12-fe1ad1f1e303@kernel.org>
On Tue, Sep 22, 2026 at 04:35:43PM +0100, Lorenzo Stoakes (ARM) wrote:
>Now that page tables are freed after an RCU grace period, it is safe for
>read-only page table walkers to walk page table ranges that are being
>concurrently torn down, provided the mm is kept alive via mmgrab().
>
>It is however unsafe for writers to do so, as they must obtain an
>appropriate lock to do so safely.
>
>Update the pte_offset_map_lock()'s comment block to reflect this.
>
>Similarly update the process addresses documentation.
>
>Acked-by: Kiryl Shutsemau (Meta) <kas@kernel.org>
>Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
>---
> Documentation/mm/process_addrs.rst | 6 ++++++
> mm/pgtable-generic.c | 15 +++++++++++----
> 2 files changed, 17 insertions(+), 4 deletions(-)
>
>diff --git a/Documentation/mm/process_addrs.rst b/Documentation/mm/process_addrs.rst
>index a7296f251799..b1f4f44d75eb 100644
>--- a/Documentation/mm/process_addrs.rst
>+++ b/Documentation/mm/process_addrs.rst
>@@ -537,6 +537,12 @@ We establish basic locking rules when interacting with page tables:
> * When changing a page table entry the page table lock for that page table
> **must** be held, except if you can safely assume nobody can access the page
> tables concurrently (such as on invocation of :c:func:`!free_pgtables`).
>+* Page tables may be *walked* under RCU alone, as page tables are freed only
>+ 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 requires the page table
>+ lock and one of the locks that excludes teardown (mmap or VMA lock).
What about rmap walkers? try_to_unmap() clears PTEs under the rmap lock
and PTL, without an mmap or VMA lock.
Cheers, Lance
> * 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
>diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c
>index b91b1a98029c..a127e3e8f9b9 100644
>--- a/mm/pgtable-generic.c
>+++ b/mm/pgtable-generic.c
>@@ -385,10 +385,17 @@ pte_t *pte_offset_map_rw_nolock(struct mm_struct *mm, pmd_t *pmd,
> * Note: "RO" / "RW" expresses the intended semantics, not that the *kmap* will
> * be read-only/read-write protected.
> *
>- * Note that free_pgtables(), used after unmapping detached vmas, or when
>- * exiting the whole mm, does not take page table lock before freeing a page
>- * table, and may not use RCU at all: "outsiders" like khugepaged should avoid
>- * pte_offset_map() and co once the vma is detached from mm or mm_users is zero.
>+ * Note that free_pgtables(), used after unmapping detached vmas or when exiting
>+ * the whole mm, does not take a page table lock before freeing a page table.
>+ *
>+ * As page table freeing itself is RCU-safe, page table readers can safely run
>+ * concurrently with page table teardown.
>+ *
>+ * However, writers CANNOT as, without a lock being held, nothing prevents
>+ * concurrent teardown.
>+ *
>+ * Also note that the PGD itself is freed at mmdrop() time, not under RCU - so
>+ * the walker must keep the mm alive either by pinning the mm or the VMA.
> */
> pte_t *pte_offset_map_lock(struct mm_struct *mm, pmd_t *pmd,
> unsigned long addr, spinlock_t **ptlp)
>
>--
>2.55.0
>
>
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
WARNING: multiple messages have this Message-ID (diff)
From: Lance Yang <lance.yang@linux.dev>
To: ljs@kernel.org
Cc: akpm@linux-foundation.org, david@kernel.org, ziy@nvidia.com,
baolin.wang@linux.alibaba.com, liam@infradead.org,
nico.pache@linux.dev, ryan.roberts@arm.com, dev.jain@arm.com,
baohua@kernel.org, lance.yang@linux.dev, usama.arif@linux.dev,
kas@kernel.org, guoren@kernel.org, bcain@kernel.org,
geert@linux-m68k.org, dinguyen@kernel.org,
schuster.simon@siemens-energy.com, jonas@southpole.se,
stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
dalias@libc.org, glaubitz@physik.fu-berlin.de, pjw@kernel.org,
palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr,
linux@armlinux.org.uk, vgupta@kernel.org, monstr@monstr.eu,
chris@zankel.net, jcmvbkbc@gmail.com, will@kernel.org,
aneesh.kumar@kernel.org, npiggin@gmail.com, peterz@infradead.org,
davem@davemloft.net, andreas@gaisler.com,
richard.henderson@linaro.org, mattst88@gmail.com,
linmag7@gmail.com, catalin.marinas@arm.com, mark.rutland@arm.com,
chenhuacai@kernel.org, kernel@xen0n.name,
tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com,
deller@gmx.de, maddy@linux.ibm.com, mpe@ellerman.id.au,
chleroy@kernel.org, hca@linux.ibm.com, gor@linux.ibm.com,
agordeev@linux.ibm.com, borntraeger@linux.ibm.com,
svens@linux.ibm.com, richard@nod.at,
anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net,
tglx@kernel.org, mingo@redhat.com, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
arnd@arndb.de, vbabka@kernel.org, rppt@kernel.org,
surenb@google.com, mhocko@suse.com, jgg@ziepe.ca,
jhubbard@nvidia.com, peterx@redhat.com,
ysato@users.sourceforge.jp, shakeel.butt@linux.dev,
corbet@lwn.net, rdunlap@infradead.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
linux-openrisc@vger.kernel.org, linux-sh@vger.kernel.org,
linux-riscv@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-snps-arc@lists.infradead.org, linux-arch@vger.kernel.org,
sparclinux@vger.kernel.org, linux-alpha@vger.kernel.org,
loongarch@lists.linux.dev, linux-mips@vger.kernel.org,
linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-s390@vger.kernel.org, linux-um@lists.infradead.org,
hughd@google.com, qi.zheng@linux.dev, linux-doc@vger.kernel.org
Subject: Re: [PATCH v4 12/12] mm: change the contract for free_pgtables(), update docs
Date: Thu, 24 Sep 2026 11:26:25 +0800 [thread overview]
Message-ID: <20260924032625.28555-1-lance.yang@linux.dev> (raw)
In-Reply-To: <20260922-rcu-pagetable-freeing-v4-12-fe1ad1f1e303@kernel.org>
On Tue, Sep 22, 2026 at 04:35:43PM +0100, Lorenzo Stoakes (ARM) wrote:
>Now that page tables are freed after an RCU grace period, it is safe for
>read-only page table walkers to walk page table ranges that are being
>concurrently torn down, provided the mm is kept alive via mmgrab().
>
>It is however unsafe for writers to do so, as they must obtain an
>appropriate lock to do so safely.
>
>Update the pte_offset_map_lock()'s comment block to reflect this.
>
>Similarly update the process addresses documentation.
>
>Acked-by: Kiryl Shutsemau (Meta) <kas@kernel.org>
>Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
>---
> Documentation/mm/process_addrs.rst | 6 ++++++
> mm/pgtable-generic.c | 15 +++++++++++----
> 2 files changed, 17 insertions(+), 4 deletions(-)
>
>diff --git a/Documentation/mm/process_addrs.rst b/Documentation/mm/process_addrs.rst
>index a7296f251799..b1f4f44d75eb 100644
>--- a/Documentation/mm/process_addrs.rst
>+++ b/Documentation/mm/process_addrs.rst
>@@ -537,6 +537,12 @@ We establish basic locking rules when interacting with page tables:
> * When changing a page table entry the page table lock for that page table
> **must** be held, except if you can safely assume nobody can access the page
> tables concurrently (such as on invocation of :c:func:`!free_pgtables`).
>+* Page tables may be *walked* under RCU alone, as page tables are freed only
>+ 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 requires the page table
>+ lock and one of the locks that excludes teardown (mmap or VMA lock).
What about rmap walkers? try_to_unmap() clears PTEs under the rmap lock
and PTL, without an mmap or VMA lock.
Cheers, Lance
> * 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
>diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c
>index b91b1a98029c..a127e3e8f9b9 100644
>--- a/mm/pgtable-generic.c
>+++ b/mm/pgtable-generic.c
>@@ -385,10 +385,17 @@ pte_t *pte_offset_map_rw_nolock(struct mm_struct *mm, pmd_t *pmd,
> * Note: "RO" / "RW" expresses the intended semantics, not that the *kmap* will
> * be read-only/read-write protected.
> *
>- * Note that free_pgtables(), used after unmapping detached vmas, or when
>- * exiting the whole mm, does not take page table lock before freeing a page
>- * table, and may not use RCU at all: "outsiders" like khugepaged should avoid
>- * pte_offset_map() and co once the vma is detached from mm or mm_users is zero.
>+ * Note that free_pgtables(), used after unmapping detached vmas or when exiting
>+ * the whole mm, does not take a page table lock before freeing a page table.
>+ *
>+ * As page table freeing itself is RCU-safe, page table readers can safely run
>+ * concurrently with page table teardown.
>+ *
>+ * However, writers CANNOT as, without a lock being held, nothing prevents
>+ * concurrent teardown.
>+ *
>+ * Also note that the PGD itself is freed at mmdrop() time, not under RCU - so
>+ * the walker must keep the mm alive either by pinning the mm or the VMA.
> */
> pte_t *pte_offset_map_lock(struct mm_struct *mm, pmd_t *pmd,
> unsigned long addr, spinlock_t **ptlp)
>
>--
>2.55.0
>
>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-09-24 3:26 UTC|newest]
Thread overview: 188+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 15:35 [PATCH v4 00/12] mm: make userland page table freeing RCU-safe Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` [PATCH v4 01/12] mm/khugepaged: deposit a newly allocated page table on collapse Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:54 ` sashiko-bot
2026-09-23 2:24 ` Lance Yang
2026-09-23 2:24 ` Lance Yang
2026-09-23 2:24 ` Lance Yang
2026-09-23 7:09 ` Lorenzo Stoakes (ARM)
2026-09-23 7:09 ` Lorenzo Stoakes (ARM)
2026-09-23 7:09 ` Lorenzo Stoakes (ARM)
2026-09-23 7:14 ` Lorenzo Stoakes (ARM)
2026-09-23 7:14 ` Lorenzo Stoakes (ARM)
2026-09-23 7:14 ` Lorenzo Stoakes (ARM)
2026-09-23 7:24 ` Lance Yang
2026-09-23 7:24 ` Lance Yang
2026-09-23 7:24 ` Lance Yang
2026-09-23 19:53 ` Andrew Morton
2026-09-23 19:53 ` Andrew Morton
2026-09-23 19:53 ` Andrew Morton
2026-09-24 3:28 ` Baolin Wang
2026-09-24 3:28 ` Baolin Wang
2026-09-24 3:28 ` Baolin Wang
2026-09-23 8:54 ` David Hildenbrand (Arm)
2026-09-23 8:54 ` David Hildenbrand (Arm)
2026-09-23 8:54 ` David Hildenbrand (Arm)
2026-09-23 9:00 ` Lorenzo Stoakes (ARM)
2026-09-23 9:00 ` Lorenzo Stoakes (ARM)
2026-09-23 9:00 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` [PATCH v4 02/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for most 2-level architectures Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:56 ` sashiko-bot
2026-09-23 4:39 ` Lance Yang
2026-09-23 4:39 ` Lance Yang
2026-09-22 15:35 ` [PATCH v4 03/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for MMU riscv Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:45 ` sashiko-bot
2026-09-23 6:15 ` Lance Yang
2026-09-23 6:15 ` Lance Yang
2026-09-23 6:15 ` Lance Yang
2026-09-23 7:05 ` Lorenzo Stoakes (ARM)
2026-09-23 7:05 ` Lorenzo Stoakes (ARM)
2026-09-23 7:05 ` Lorenzo Stoakes (ARM)
2026-09-23 7:17 ` Lance Yang
2026-09-23 7:17 ` Lance Yang
2026-09-23 7:17 ` Lance Yang
2026-09-22 15:35 ` [PATCH v4 04/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for MMU arm Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:50 ` sashiko-bot
2026-09-23 8:05 ` Lance Yang
2026-09-23 8:05 ` Lance Yang
2026-09-23 8:05 ` Lance Yang
2026-09-23 8:15 ` Lorenzo Stoakes (ARM)
2026-09-23 8:15 ` Lorenzo Stoakes (ARM)
2026-09-23 8:15 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` [PATCH v4 05/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for arc, microblaze, xtensa Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:48 ` sashiko-bot
2026-09-23 8:43 ` Lance Yang
2026-09-23 8:43 ` Lance Yang
2026-09-23 8:43 ` Lance Yang
2026-09-22 15:35 ` [PATCH v4 06/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for sparc64 Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:47 ` sashiko-bot
2026-09-23 8:54 ` Lance Yang
2026-09-23 8:54 ` Lance Yang
2026-09-23 8:54 ` Lance Yang
2026-09-22 15:35 ` [PATCH v4 07/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for m68k-coldfire Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:48 ` sashiko-bot
2026-09-23 9:13 ` Lance Yang
2026-09-23 9:13 ` Lance Yang
2026-09-23 9:13 ` Lance Yang
2026-09-23 11:31 ` Greg Ungerer
2026-09-23 11:31 ` Greg Ungerer
2026-09-23 11:31 ` Greg Ungerer
2026-09-23 11:36 ` Lorenzo Stoakes (ARM)
2026-09-23 11:36 ` Lorenzo Stoakes (ARM)
2026-09-23 11:36 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` [PATCH v4 08/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for sh-X2 Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:49 ` sashiko-bot
2026-09-23 11:54 ` Lance Yang
2026-09-23 11:54 ` Lance Yang
2026-09-23 11:54 ` Lance Yang
2026-09-23 11:56 ` Lorenzo Stoakes (ARM)
2026-09-23 11:56 ` Lorenzo Stoakes (ARM)
2026-09-23 11:56 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` [PATCH v4 09/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for m68k-motorola Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:52 ` sashiko-bot
2026-09-23 13:16 ` Lance Yang
2026-09-23 13:16 ` Lance Yang
2026-09-23 13:16 ` Lance Yang
2026-09-23 13:21 ` Lorenzo Stoakes (ARM)
2026-09-23 13:21 ` Lorenzo Stoakes (ARM)
2026-09-23 13:21 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` [PATCH v4 10/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for sparc32 Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:55 ` sashiko-bot
2026-09-24 2:41 ` Lance Yang
2026-09-24 2:41 ` Lance Yang
2026-09-24 2:41 ` Lance Yang
2026-09-22 15:35 ` [PATCH v4 11/12] mm: make userland page table freeing RCU-safe Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 16:01 ` sashiko-bot
2026-09-23 9:04 ` David Hildenbrand (Arm)
2026-09-23 9:04 ` David Hildenbrand (Arm)
2026-09-23 9:04 ` David Hildenbrand (Arm)
2026-09-23 9:06 ` Lorenzo Stoakes (ARM)
2026-09-23 9:06 ` Lorenzo Stoakes (ARM)
2026-09-23 9:06 ` Lorenzo Stoakes (ARM)
2026-09-23 9:13 ` David Hildenbrand (Arm)
2026-09-23 9:13 ` David Hildenbrand (Arm)
2026-09-23 9:13 ` David Hildenbrand (Arm)
2026-09-23 11:48 ` Lorenzo Stoakes (ARM)
2026-09-23 11:48 ` Lorenzo Stoakes (ARM)
2026-09-23 11:48 ` Lorenzo Stoakes (ARM)
2026-09-23 13:38 ` David Hildenbrand (Arm)
2026-09-23 13:38 ` David Hildenbrand (Arm)
2026-09-23 13:38 ` David Hildenbrand (Arm)
2026-09-23 13:43 ` Lorenzo Stoakes (ARM)
2026-09-23 13:43 ` Lorenzo Stoakes (ARM)
2026-09-23 13:43 ` Lorenzo Stoakes (ARM)
2026-09-24 2:55 ` Lance Yang
2026-09-24 2:55 ` Lance Yang
2026-09-24 2:55 ` Lance Yang
2026-09-22 15:35 ` [PATCH v4 12/12] mm: change the contract for free_pgtables(), update docs Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:35 ` Lorenzo Stoakes (ARM)
2026-09-22 15:49 ` sashiko-bot
2026-09-23 9:08 ` David Hildenbrand (Arm)
2026-09-23 9:08 ` David Hildenbrand (Arm)
2026-09-23 9:08 ` David Hildenbrand (Arm)
2026-09-23 11:55 ` Lorenzo Stoakes (ARM)
2026-09-23 11:55 ` Lorenzo Stoakes (ARM)
2026-09-23 11:55 ` Lorenzo Stoakes (ARM)
2026-09-24 3:26 ` Lance Yang [this message]
2026-09-24 3:26 ` Lance Yang
2026-09-24 3:26 ` Lance Yang
2026-09-24 7:54 ` Lorenzo Stoakes (ARM)
2026-09-24 7:54 ` Lorenzo Stoakes (ARM)
2026-09-24 7:54 ` Lorenzo Stoakes (ARM)
2026-09-22 16:42 ` [PATCH v4 00/12] mm: make userland page table freeing RCU-safe Matthew Wilcox
2026-09-22 16:42 ` Matthew Wilcox
2026-09-22 16:42 ` Matthew Wilcox
2026-09-22 17:22 ` Lorenzo Stoakes (ARM)
2026-09-22 17:22 ` Lorenzo Stoakes (ARM)
2026-09-22 17:22 ` Lorenzo Stoakes (ARM)
2026-09-22 23:00 ` Andrew Morton
2026-09-22 23:00 ` Andrew Morton
2026-09-22 23:00 ` Andrew Morton
2026-09-23 7:04 ` Lorenzo Stoakes (ARM)
2026-09-23 7:04 ` Lorenzo Stoakes (ARM)
2026-09-23 7:04 ` Lorenzo Stoakes (ARM)
2026-09-23 20:01 ` Andrew Morton
2026-09-23 20:01 ` Andrew Morton
2026-09-23 20:01 ` Andrew Morton
2026-09-23 8:45 ` David Hildenbrand (Arm)
2026-09-23 8:45 ` David Hildenbrand (Arm)
2026-09-23 8:45 ` David Hildenbrand (Arm)
2026-09-23 9:04 ` Lorenzo Stoakes (ARM)
2026-09-23 9:04 ` Lorenzo Stoakes (ARM)
2026-09-23 9:04 ` Lorenzo Stoakes (ARM)
2026-09-23 9:15 ` David Hildenbrand (Arm)
2026-09-23 9:15 ` David Hildenbrand (Arm)
2026-09-23 9:15 ` David Hildenbrand (Arm)
2026-09-23 9:39 ` Vlastimil Babka (SUSE)
2026-09-23 9:39 ` Vlastimil Babka (SUSE)
2026-09-23 9:39 ` Vlastimil Babka (SUSE)
2026-09-23 11:39 ` Lorenzo Stoakes (ARM)
2026-09-23 11:39 ` Lorenzo Stoakes (ARM)
2026-09-23 11:39 ` Lorenzo Stoakes (ARM)
2026-09-23 19:59 ` Andrew Morton
2026-09-23 19:59 ` Andrew Morton
2026-09-23 19:59 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260924032625.28555-1-lance.yang@linux.dev \
--to=lance.yang@linux.dev \
--cc=James.Bottomley@HansenPartnership.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=alex@ghiti.fr \
--cc=andreas@gaisler.com \
--cc=aneesh.kumar@kernel.org \
--cc=anton.ivanov@cambridgegreys.com \
--cc=aou@eecs.berkeley.edu \
--cc=arnd@arndb.de \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=bcain@kernel.org \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=chenhuacai@kernel.org \
--cc=chleroy@kernel.org \
--cc=chris@zankel.net \
--cc=corbet@lwn.net \
--cc=dalias@libc.org \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=david@kernel.org \
--cc=deller@gmx.de \
--cc=dev.jain@arm.com \
--cc=dinguyen@kernel.org \
--cc=geert@linux-m68k.org \
--cc=glaubitz@physik.fu-berlin.de \
--cc=gor@linux.ibm.com \
--cc=guoren@kernel.org \
--cc=hca@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=hughd@google.com \
--cc=jcmvbkbc@gmail.com \
--cc=jgg@ziepe.ca \
--cc=jhubbard@nvidia.com \
--cc=johannes@sipsolutions.net \
--cc=jonas@southpole.se \
--cc=kas@kernel.org \
--cc=kernel@xen0n.name \
--cc=liam@infradead.org \
--cc=linmag7@gmail.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-csky@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hexagon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-openrisc@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=linux-um@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=ljs@kernel.org \
--cc=loongarch@lists.linux.dev \
--cc=maddy@linux.ibm.com \
--cc=mark.rutland@arm.com \
--cc=mattst88@gmail.com \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=monstr@monstr.eu \
--cc=mpe@ellerman.id.au \
--cc=nico.pache@linux.dev \
--cc=npiggin@gmail.com \
--cc=palmer@dabbelt.com \
--cc=peterx@redhat.com \
--cc=peterz@infradead.org \
--cc=pjw@kernel.org \
--cc=qi.zheng@linux.dev \
--cc=rdunlap@infradead.org \
--cc=richard.henderson@linaro.org \
--cc=richard@nod.at \
--cc=rppt@kernel.org \
--cc=ryan.roberts@arm.com \
--cc=schuster.simon@siemens-energy.com \
--cc=shakeel.butt@linux.dev \
--cc=shorne@gmail.com \
--cc=sparclinux@vger.kernel.org \
--cc=stefan.kristiansson@saunalahti.fi \
--cc=surenb@google.com \
--cc=svens@linux.ibm.com \
--cc=tglx@kernel.org \
--cc=tsbogend@alpha.franken.de \
--cc=usama.arif@linux.dev \
--cc=vbabka@kernel.org \
--cc=vgupta@kernel.org \
--cc=will@kernel.org \
--cc=x86@kernel.org \
--cc=ysato@users.sourceforge.jp \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.