All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: Suren Baghdasaryan <surenb@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	 David Hildenbrand <david@kernel.org>, Zi Yan <ziy@nvidia.com>,
	 Baolin Wang <baolin.wang@linux.alibaba.com>,
	"Liam R. Howlett" <liam@infradead.org>,
	 Nico Pache <nico.pache@linux.dev>,
	Ryan Roberts <ryan.roberts@arm.com>, Dev Jain <dev.jain@arm.com>,
	 Barry Song <baohua@kernel.org>,
	Lance Yang <lance.yang@linux.dev>,
	 Usama Arif <usama.arif@linux.dev>,
	Kiryl Shutsemau <kas@kernel.org>, Guo Ren <guoren@kernel.org>,
	 Brian Cain <bcain@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	 Dinh Nguyen <dinguyen@kernel.org>,
	Simon Schuster <schuster.simon@siemens-energy.com>,
	 Jonas Bonn <jonas@southpole.se>,
	Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
	 Stafford Horne <shorne@gmail.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	 Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	 Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	 Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	 Russell King <linux@armlinux.org.uk>,
	Vineet Gupta <vgupta@kernel.org>,
	 Michal Simek <monstr@monstr.eu>, Chris Zankel <chris@zankel.net>,
	 Max Filippov <jcmvbkbc@gmail.com>, Will Deacon <will@kernel.org>,
	 "Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
	Nick Piggin <npiggin@gmail.com>,
	 Peter Zijlstra <peterz@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	 Andreas Larsson <andreas@gaisler.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	 Matt Turner <mattst88@gmail.com>,
	Magnus Lindholm <linmag7@gmail.com>,
	 Catalin Marinas <catalin.marinas@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	 Huacai Chen <chenhuacai@kernel.org>,
	WANG Xuerui <kernel@xen0n.name>,
	 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	 Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	 Michael Ellerman <mpe@ellerman.id.au>,
	"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
	 Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	 Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	 Sven Schnelle <svens@linux.ibm.com>,
	Richard Weinberger <richard@nod.at>,
	 Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	 Thomas Gleixner <tglx@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	 Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	 Arnd Bergmann <arnd@arndb.de>,
	Vlastimil Babka <vbabka@kernel.org>,
	 Mike Rapoport <rppt@kernel.org>, Michal Hocko <mhocko@suse.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	 John Hubbard <jhubbard@nvidia.com>, Peter Xu <peterx@redhat.com>,
	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,
	Hugh Dickins <hughd@google.com>, Qi Zheng <qi.zheng@linux.dev>
Subject: Re: [PATCH 05/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for arc, microblaze, xtensa
Date: Tue, 8 Sep 2026 12:28:51 +0100	[thread overview]
Message-ID: <ap_xXoS5XDqJ0mgU@gremlin> (raw)
In-Reply-To: <CAJuCfpESe_BXihJh-8FhjQVKzsSpnS4zdMgg3e59byJTc8QViA@mail.gmail.com>

On Mon, Sep 07, 2026 at 02:07:37PM -0700, Suren Baghdasaryan wrote:
> On Tue, Sep 1, 2026 at 4:06 AM Lorenzo Stoakes (ARM) <ljs@kernel.org> wrote:
> >
> > Each of these architectures directly free page tables without routing these
> > changes through tlb_remove_ptdesc().
> >
> > The use of tlb_remove_ptdesc() is required for
> > CONFIG_MMU_GATHER_RCU_TABLE_FREE to correctly free page tables under RCU,
> > so simply update these architectures to use these functions.
> >
> > Since none of the architectures share page tables or do anything unusual,
> > nothing complicated is required here.
> >
> > Therefore this is simply a mechanical change - convert __pud_free_tlb(),
> > __pmd_free_tlb() and __pte_free_tlb() to use tlb_remove_ptdesc() as
> > required.
> >
> > At the point this is in place, all mmu_gather page table freeing is
> > performed under RCU, and thus MMU_GATHER_RCU_TABLE_FREE is selected for
> > each architecture.
> >
> > This forms part of an overall effort to switch every architecture to this
> > mode.
> >
> > Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> > ---
> >  arch/arc/Kconfig                      | 1 +
> >  arch/arc/include/asm/pgalloc.h        | 6 +++---
> >  arch/microblaze/Kconfig               | 1 +
> >  arch/microblaze/include/asm/pgalloc.h | 2 +-
> >  arch/xtensa/Kconfig                   | 1 +
> >  arch/xtensa/include/asm/tlb.h         | 2 +-
> >  6 files changed, 8 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> > index 2ed7186c81c5..7a7542b61823 100644
> > --- a/arch/arc/Kconfig
> > +++ b/arch/arc/Kconfig
> > @@ -47,6 +47,7 @@ config ARC
> >         select HAVE_SYSCALL_TRACEPOINTS
> >         select IRQ_DOMAIN
> >         select LOCK_MM_AND_FIND_VMA
> > +       select MMU_GATHER_RCU_TABLE_FREE
> >         select MODULES_USE_ELF_RELA
> >         select OF
> >         select OF_EARLY_FLATTREE
> > diff --git a/arch/arc/include/asm/pgalloc.h b/arch/arc/include/asm/pgalloc.h
> > index dfae070fe8d5..9b6c37f92e97 100644
> > --- a/arch/arc/include/asm/pgalloc.h
> > +++ b/arch/arc/include/asm/pgalloc.h
> > @@ -72,7 +72,7 @@ static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4dp, pud_t *pudp)
> >         set_p4d(p4dp, __p4d((unsigned long)pudp));
> >  }
> >
> > -#define __pud_free_tlb(tlb, pmd, addr)  pud_free((tlb)->mm, pmd)
> > +#define __pud_free_tlb(tlb, pmd, addr)  tlb_remove_ptdesc((tlb), virt_to_ptdesc(pmd))
> >
> >  #endif
> >
> > @@ -83,10 +83,10 @@ static inline void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmdp)
> >         set_pud(pudp, __pud((unsigned long)pmdp));
> >  }
> >
> > -#define __pmd_free_tlb(tlb, pmd, addr)  pmd_free((tlb)->mm, pmd)
> > +#define __pmd_free_tlb(tlb, pmd, addr)  tlb_remove_ptdesc((tlb), virt_to_ptdesc(pmd))
> >
> >  #endif
> >
> > -#define __pte_free_tlb(tlb, pte, addr)  pte_free((tlb)->mm, pte)
> > +#define __pte_free_tlb(tlb, pte, addr)  tlb_remove_ptdesc((tlb), page_ptdesc(pte))
> >
> >  #endif /* _ASM_ARC_PGALLOC_H */
> > diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> > index 484ebb3baedf..af7e821e96c1 100644
> > --- a/arch/microblaze/Kconfig
> > +++ b/arch/microblaze/Kconfig
> > @@ -41,6 +41,7 @@ config MICROBLAZE
> >         select PCI_SYSCALL if PCI
> >         select CPU_NO_EFFICIENT_FFS
> >         select MMU_GATHER_NO_RANGE
> > +       select MMU_GATHER_RCU_TABLE_FREE
> >         select SPARSE_IRQ
> >         select ZONE_DMA
> >         select TRACE_IRQFLAGS_SUPPORT
> > diff --git a/arch/microblaze/include/asm/pgalloc.h b/arch/microblaze/include/asm/pgalloc.h
> > index 084a8a0dc239..ffee6a009219 100644
> > --- a/arch/microblaze/include/asm/pgalloc.h
> > +++ b/arch/microblaze/include/asm/pgalloc.h
> > @@ -25,7 +25,7 @@ extern void __bad_pte(pmd_t *pmd);
> >
> >  extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm);
> >
> > -#define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte))
> > +#define __pte_free_tlb(tlb, pte, addr) tlb_remove_ptdesc((tlb), page_ptdesc(pte))
> >
> >  #define pmd_populate(mm, pmd, pte) \
> >                         (pmd_val(*(pmd)) = (unsigned long)page_address(pte))
> > diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> > index f2f9cd9cde50..33c4caee30e2 100644
> > --- a/arch/xtensa/Kconfig
> > +++ b/arch/xtensa/Kconfig
> > @@ -55,6 +55,7 @@ config XTENSA
> >         select HAVE_VIRT_CPU_ACCOUNTING_GEN
> >         select IRQ_DOMAIN
> >         select LOCK_MM_AND_FIND_VMA
> > +       select MMU_GATHER_RCU_TABLE_FREE if MMU
>
> And MMU is required because NOMMU does not perform mmu_gather
> operations, same as in the previous patch? If so, maybe make a note of
> it in the changelog?

Right yup. Will update!

>
> >         select MODULES_USE_ELF_RELA
> >         select PERF_USE_VMALLOC
> >         select TRACE_IRQFLAGS_SUPPORT
> > diff --git a/arch/xtensa/include/asm/tlb.h b/arch/xtensa/include/asm/tlb.h
> > index 8c3ceb427018..6fb7b78154f6 100644
> > --- a/arch/xtensa/include/asm/tlb.h
> > +++ b/arch/xtensa/include/asm/tlb.h
> > @@ -16,7 +16,7 @@
> >
> >  #include <asm-generic/tlb.h>
> >
> > -#define __pte_free_tlb(tlb, pte, address)      pte_free((tlb)->mm, pte)
> > +#define __pte_free_tlb(tlb, pte, address)      tlb_remove_ptdesc((tlb), page_ptdesc(pte))
> >
> >  void check_tlb_sanity(void);
> >
> >
> > --
> > 2.55.0
> >

--
Cheers, Lorenzo

WARNING: multiple messages have this Message-ID (diff)
From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: Suren Baghdasaryan <surenb@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	 David Hildenbrand <david@kernel.org>, Zi Yan <ziy@nvidia.com>,
	 Baolin Wang <baolin.wang@linux.alibaba.com>,
	"Liam R. Howlett" <liam@infradead.org>,
	 Nico Pache <nico.pache@linux.dev>,
	Ryan Roberts <ryan.roberts@arm.com>, Dev Jain <dev.jain@arm.com>,
	 Barry Song <baohua@kernel.org>,
	Lance Yang <lance.yang@linux.dev>,
	 Usama Arif <usama.arif@linux.dev>,
	Kiryl Shutsemau <kas@kernel.org>, Guo Ren <guoren@kernel.org>,
	 Brian Cain <bcain@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	 Dinh Nguyen <dinguyen@kernel.org>,
	Simon Schuster <schuster.simon@siemens-energy.com>,
	 Jonas Bonn <jonas@southpole.se>,
	Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
	 Stafford Horne <shorne@gmail.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	 Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	 Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	 Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	 Russell King <linux@armlinux.org.uk>,
	Vineet Gupta <vgupta@kernel.org>,
	 Michal Simek <monstr@monstr.eu>, Chris Zankel <chris@zankel.net>,
	 Max Filippov <jcmvbkbc@gmail.com>, Will Deacon <will@kernel.org>,
	 "Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
	Nick Piggin <npiggin@gmail.com>,
	 Peter Zijlstra <peterz@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	 Andreas Larsson <andreas@gaisler.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	 Matt Turner <mattst88@gmail.com>,
	Magnus Lindholm <linmag7@gmail.com>,
	 Catalin Marinas <catalin.marinas@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	 Huacai Chen <chenhuacai@kernel.org>,
	WANG Xuerui <kernel@xen0n.name>,
	 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	 Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	 Michael Ellerman <mpe@ellerman.id.au>,
	"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
	 Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	 Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	 Sven Schnelle <svens@linux.ibm.com>,
	Richard Weinberger <richard@nod.at>,
	 Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	 Thomas Gleixner <tglx@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	 Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	 Arnd Bergmann <arnd@arndb.de>,
	Vlastimil Babka <vbabka@kernel.org>,
	 Mike Rapoport <rppt@kernel.org>, Michal Hocko <mhocko@suse.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	 John Hubbard <jhubbard@nvidia.com>, Peter Xu <peterx@redhat.com>,
	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,
	Hugh Dickins <hughd@google.com>, Qi Zheng <qi.zheng@linux.dev>
Subject: Re: [PATCH 05/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for arc, microblaze, xtensa
Date: Tue, 8 Sep 2026 12:28:51 +0100	[thread overview]
Message-ID: <ap_xXoS5XDqJ0mgU@gremlin> (raw)
In-Reply-To: <CAJuCfpESe_BXihJh-8FhjQVKzsSpnS4zdMgg3e59byJTc8QViA@mail.gmail.com>

On Mon, Sep 07, 2026 at 02:07:37PM -0700, Suren Baghdasaryan wrote:
> On Tue, Sep 1, 2026 at 4:06 AM Lorenzo Stoakes (ARM) <ljs@kernel.org> wrote:
> >
> > Each of these architectures directly free page tables without routing these
> > changes through tlb_remove_ptdesc().
> >
> > The use of tlb_remove_ptdesc() is required for
> > CONFIG_MMU_GATHER_RCU_TABLE_FREE to correctly free page tables under RCU,
> > so simply update these architectures to use these functions.
> >
> > Since none of the architectures share page tables or do anything unusual,
> > nothing complicated is required here.
> >
> > Therefore this is simply a mechanical change - convert __pud_free_tlb(),
> > __pmd_free_tlb() and __pte_free_tlb() to use tlb_remove_ptdesc() as
> > required.
> >
> > At the point this is in place, all mmu_gather page table freeing is
> > performed under RCU, and thus MMU_GATHER_RCU_TABLE_FREE is selected for
> > each architecture.
> >
> > This forms part of an overall effort to switch every architecture to this
> > mode.
> >
> > Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> > ---
> >  arch/arc/Kconfig                      | 1 +
> >  arch/arc/include/asm/pgalloc.h        | 6 +++---
> >  arch/microblaze/Kconfig               | 1 +
> >  arch/microblaze/include/asm/pgalloc.h | 2 +-
> >  arch/xtensa/Kconfig                   | 1 +
> >  arch/xtensa/include/asm/tlb.h         | 2 +-
> >  6 files changed, 8 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> > index 2ed7186c81c5..7a7542b61823 100644
> > --- a/arch/arc/Kconfig
> > +++ b/arch/arc/Kconfig
> > @@ -47,6 +47,7 @@ config ARC
> >         select HAVE_SYSCALL_TRACEPOINTS
> >         select IRQ_DOMAIN
> >         select LOCK_MM_AND_FIND_VMA
> > +       select MMU_GATHER_RCU_TABLE_FREE
> >         select MODULES_USE_ELF_RELA
> >         select OF
> >         select OF_EARLY_FLATTREE
> > diff --git a/arch/arc/include/asm/pgalloc.h b/arch/arc/include/asm/pgalloc.h
> > index dfae070fe8d5..9b6c37f92e97 100644
> > --- a/arch/arc/include/asm/pgalloc.h
> > +++ b/arch/arc/include/asm/pgalloc.h
> > @@ -72,7 +72,7 @@ static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4dp, pud_t *pudp)
> >         set_p4d(p4dp, __p4d((unsigned long)pudp));
> >  }
> >
> > -#define __pud_free_tlb(tlb, pmd, addr)  pud_free((tlb)->mm, pmd)
> > +#define __pud_free_tlb(tlb, pmd, addr)  tlb_remove_ptdesc((tlb), virt_to_ptdesc(pmd))
> >
> >  #endif
> >
> > @@ -83,10 +83,10 @@ static inline void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmdp)
> >         set_pud(pudp, __pud((unsigned long)pmdp));
> >  }
> >
> > -#define __pmd_free_tlb(tlb, pmd, addr)  pmd_free((tlb)->mm, pmd)
> > +#define __pmd_free_tlb(tlb, pmd, addr)  tlb_remove_ptdesc((tlb), virt_to_ptdesc(pmd))
> >
> >  #endif
> >
> > -#define __pte_free_tlb(tlb, pte, addr)  pte_free((tlb)->mm, pte)
> > +#define __pte_free_tlb(tlb, pte, addr)  tlb_remove_ptdesc((tlb), page_ptdesc(pte))
> >
> >  #endif /* _ASM_ARC_PGALLOC_H */
> > diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> > index 484ebb3baedf..af7e821e96c1 100644
> > --- a/arch/microblaze/Kconfig
> > +++ b/arch/microblaze/Kconfig
> > @@ -41,6 +41,7 @@ config MICROBLAZE
> >         select PCI_SYSCALL if PCI
> >         select CPU_NO_EFFICIENT_FFS
> >         select MMU_GATHER_NO_RANGE
> > +       select MMU_GATHER_RCU_TABLE_FREE
> >         select SPARSE_IRQ
> >         select ZONE_DMA
> >         select TRACE_IRQFLAGS_SUPPORT
> > diff --git a/arch/microblaze/include/asm/pgalloc.h b/arch/microblaze/include/asm/pgalloc.h
> > index 084a8a0dc239..ffee6a009219 100644
> > --- a/arch/microblaze/include/asm/pgalloc.h
> > +++ b/arch/microblaze/include/asm/pgalloc.h
> > @@ -25,7 +25,7 @@ extern void __bad_pte(pmd_t *pmd);
> >
> >  extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm);
> >
> > -#define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte))
> > +#define __pte_free_tlb(tlb, pte, addr) tlb_remove_ptdesc((tlb), page_ptdesc(pte))
> >
> >  #define pmd_populate(mm, pmd, pte) \
> >                         (pmd_val(*(pmd)) = (unsigned long)page_address(pte))
> > diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> > index f2f9cd9cde50..33c4caee30e2 100644
> > --- a/arch/xtensa/Kconfig
> > +++ b/arch/xtensa/Kconfig
> > @@ -55,6 +55,7 @@ config XTENSA
> >         select HAVE_VIRT_CPU_ACCOUNTING_GEN
> >         select IRQ_DOMAIN
> >         select LOCK_MM_AND_FIND_VMA
> > +       select MMU_GATHER_RCU_TABLE_FREE if MMU
>
> And MMU is required because NOMMU does not perform mmu_gather
> operations, same as in the previous patch? If so, maybe make a note of
> it in the changelog?

Right yup. Will update!

>
> >         select MODULES_USE_ELF_RELA
> >         select PERF_USE_VMALLOC
> >         select TRACE_IRQFLAGS_SUPPORT
> > diff --git a/arch/xtensa/include/asm/tlb.h b/arch/xtensa/include/asm/tlb.h
> > index 8c3ceb427018..6fb7b78154f6 100644
> > --- a/arch/xtensa/include/asm/tlb.h
> > +++ b/arch/xtensa/include/asm/tlb.h
> > @@ -16,7 +16,7 @@
> >
> >  #include <asm-generic/tlb.h>
> >
> > -#define __pte_free_tlb(tlb, pte, address)      pte_free((tlb)->mm, pte)
> > +#define __pte_free_tlb(tlb, pte, address)      tlb_remove_ptdesc((tlb), page_ptdesc(pte))
> >
> >  void check_tlb_sanity(void);
> >
> >
> > --
> > 2.55.0
> >

--
Cheers, Lorenzo

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: Suren Baghdasaryan <surenb@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	 David Hildenbrand <david@kernel.org>, Zi Yan <ziy@nvidia.com>,
	 Baolin Wang <baolin.wang@linux.alibaba.com>,
	"Liam R. Howlett" <liam@infradead.org>,
	 Nico Pache <nico.pache@linux.dev>,
	Ryan Roberts <ryan.roberts@arm.com>, Dev Jain <dev.jain@arm.com>,
	 Barry Song <baohua@kernel.org>,
	Lance Yang <lance.yang@linux.dev>,
	 Usama Arif <usama.arif@linux.dev>,
	Kiryl Shutsemau <kas@kernel.org>, Guo Ren <guoren@kernel.org>,
	 Brian Cain <bcain@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	 Dinh Nguyen <dinguyen@kernel.org>,
	Simon Schuster <schuster.simon@siemens-energy.com>,
	 Jonas Bonn <jonas@southpole.se>,
	Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
	 Stafford Horne <shorne@gmail.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	 Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	 Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	 Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	 Russell King <linux@armlinux.org.uk>,
	Vineet Gupta <vgupta@kernel.org>,
	 Michal Simek <monstr@monstr.eu>, Chris Zankel <chris@zankel.net>,
	 Max Filippov <jcmvbkbc@gmail.com>, Will Deacon <will@kernel.org>,
	 "Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
	Nick Piggin <npiggin@gmail.com>,
	 Peter Zijlstra <peterz@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	 Andreas Larsson <andreas@gaisler.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	 Matt Turner <mattst88@gmail.com>,
	Magnus Lindholm <linmag7@gmail.com>,
	 Catalin Marinas <catalin.marinas@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	 Huacai Chen <chenhuacai@kernel.org>,
	WANG Xuerui <kernel@xen0n.name>,
	 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	 Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	 Michael Ellerman <mpe@ellerman.id.au>,
	"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
	 Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	 Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	 Sven Schnelle <svens@linux.ibm.com>,
	Richard Weinberger <richard@nod.at>,
	 Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	 Thomas Gleixner <tglx@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	 Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	 Arnd Bergmann <arnd@arndb.de>,
	Vlastimil Babka <vbabka@kernel.org>,
	 Mike Rapoport <rppt@kernel.org>, Michal Hocko <mhocko@suse.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	 John Hubbard <jhubbard@nvidia.com>, Peter Xu <peterx@redhat.com>,
	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,
	Hugh Dickins <hughd@google.com>, Qi Zheng <qi.zheng@linux.dev>
Subject: Re: [PATCH 05/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for arc, microblaze, xtensa
Date: Tue, 8 Sep 2026 12:28:51 +0100	[thread overview]
Message-ID: <ap_xXoS5XDqJ0mgU@gremlin> (raw)
In-Reply-To: <CAJuCfpESe_BXihJh-8FhjQVKzsSpnS4zdMgg3e59byJTc8QViA@mail.gmail.com>

On Mon, Sep 07, 2026 at 02:07:37PM -0700, Suren Baghdasaryan wrote:
> On Tue, Sep 1, 2026 at 4:06 AM Lorenzo Stoakes (ARM) <ljs@kernel.org> wrote:
> >
> > Each of these architectures directly free page tables without routing these
> > changes through tlb_remove_ptdesc().
> >
> > The use of tlb_remove_ptdesc() is required for
> > CONFIG_MMU_GATHER_RCU_TABLE_FREE to correctly free page tables under RCU,
> > so simply update these architectures to use these functions.
> >
> > Since none of the architectures share page tables or do anything unusual,
> > nothing complicated is required here.
> >
> > Therefore this is simply a mechanical change - convert __pud_free_tlb(),
> > __pmd_free_tlb() and __pte_free_tlb() to use tlb_remove_ptdesc() as
> > required.
> >
> > At the point this is in place, all mmu_gather page table freeing is
> > performed under RCU, and thus MMU_GATHER_RCU_TABLE_FREE is selected for
> > each architecture.
> >
> > This forms part of an overall effort to switch every architecture to this
> > mode.
> >
> > Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> > ---
> >  arch/arc/Kconfig                      | 1 +
> >  arch/arc/include/asm/pgalloc.h        | 6 +++---
> >  arch/microblaze/Kconfig               | 1 +
> >  arch/microblaze/include/asm/pgalloc.h | 2 +-
> >  arch/xtensa/Kconfig                   | 1 +
> >  arch/xtensa/include/asm/tlb.h         | 2 +-
> >  6 files changed, 8 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> > index 2ed7186c81c5..7a7542b61823 100644
> > --- a/arch/arc/Kconfig
> > +++ b/arch/arc/Kconfig
> > @@ -47,6 +47,7 @@ config ARC
> >         select HAVE_SYSCALL_TRACEPOINTS
> >         select IRQ_DOMAIN
> >         select LOCK_MM_AND_FIND_VMA
> > +       select MMU_GATHER_RCU_TABLE_FREE
> >         select MODULES_USE_ELF_RELA
> >         select OF
> >         select OF_EARLY_FLATTREE
> > diff --git a/arch/arc/include/asm/pgalloc.h b/arch/arc/include/asm/pgalloc.h
> > index dfae070fe8d5..9b6c37f92e97 100644
> > --- a/arch/arc/include/asm/pgalloc.h
> > +++ b/arch/arc/include/asm/pgalloc.h
> > @@ -72,7 +72,7 @@ static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4dp, pud_t *pudp)
> >         set_p4d(p4dp, __p4d((unsigned long)pudp));
> >  }
> >
> > -#define __pud_free_tlb(tlb, pmd, addr)  pud_free((tlb)->mm, pmd)
> > +#define __pud_free_tlb(tlb, pmd, addr)  tlb_remove_ptdesc((tlb), virt_to_ptdesc(pmd))
> >
> >  #endif
> >
> > @@ -83,10 +83,10 @@ static inline void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmdp)
> >         set_pud(pudp, __pud((unsigned long)pmdp));
> >  }
> >
> > -#define __pmd_free_tlb(tlb, pmd, addr)  pmd_free((tlb)->mm, pmd)
> > +#define __pmd_free_tlb(tlb, pmd, addr)  tlb_remove_ptdesc((tlb), virt_to_ptdesc(pmd))
> >
> >  #endif
> >
> > -#define __pte_free_tlb(tlb, pte, addr)  pte_free((tlb)->mm, pte)
> > +#define __pte_free_tlb(tlb, pte, addr)  tlb_remove_ptdesc((tlb), page_ptdesc(pte))
> >
> >  #endif /* _ASM_ARC_PGALLOC_H */
> > diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> > index 484ebb3baedf..af7e821e96c1 100644
> > --- a/arch/microblaze/Kconfig
> > +++ b/arch/microblaze/Kconfig
> > @@ -41,6 +41,7 @@ config MICROBLAZE
> >         select PCI_SYSCALL if PCI
> >         select CPU_NO_EFFICIENT_FFS
> >         select MMU_GATHER_NO_RANGE
> > +       select MMU_GATHER_RCU_TABLE_FREE
> >         select SPARSE_IRQ
> >         select ZONE_DMA
> >         select TRACE_IRQFLAGS_SUPPORT
> > diff --git a/arch/microblaze/include/asm/pgalloc.h b/arch/microblaze/include/asm/pgalloc.h
> > index 084a8a0dc239..ffee6a009219 100644
> > --- a/arch/microblaze/include/asm/pgalloc.h
> > +++ b/arch/microblaze/include/asm/pgalloc.h
> > @@ -25,7 +25,7 @@ extern void __bad_pte(pmd_t *pmd);
> >
> >  extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm);
> >
> > -#define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte))
> > +#define __pte_free_tlb(tlb, pte, addr) tlb_remove_ptdesc((tlb), page_ptdesc(pte))
> >
> >  #define pmd_populate(mm, pmd, pte) \
> >                         (pmd_val(*(pmd)) = (unsigned long)page_address(pte))
> > diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> > index f2f9cd9cde50..33c4caee30e2 100644
> > --- a/arch/xtensa/Kconfig
> > +++ b/arch/xtensa/Kconfig
> > @@ -55,6 +55,7 @@ config XTENSA
> >         select HAVE_VIRT_CPU_ACCOUNTING_GEN
> >         select IRQ_DOMAIN
> >         select LOCK_MM_AND_FIND_VMA
> > +       select MMU_GATHER_RCU_TABLE_FREE if MMU
>
> And MMU is required because NOMMU does not perform mmu_gather
> operations, same as in the previous patch? If so, maybe make a note of
> it in the changelog?

Right yup. Will update!

>
> >         select MODULES_USE_ELF_RELA
> >         select PERF_USE_VMALLOC
> >         select TRACE_IRQFLAGS_SUPPORT
> > diff --git a/arch/xtensa/include/asm/tlb.h b/arch/xtensa/include/asm/tlb.h
> > index 8c3ceb427018..6fb7b78154f6 100644
> > --- a/arch/xtensa/include/asm/tlb.h
> > +++ b/arch/xtensa/include/asm/tlb.h
> > @@ -16,7 +16,7 @@
> >
> >  #include <asm-generic/tlb.h>
> >
> > -#define __pte_free_tlb(tlb, pte, address)      pte_free((tlb)->mm, pte)
> > +#define __pte_free_tlb(tlb, pte, address)      tlb_remove_ptdesc((tlb), page_ptdesc(pte))
> >
> >  void check_tlb_sanity(void);
> >
> >
> > --
> > 2.55.0
> >

--
Cheers, Lorenzo

_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

  reply	other threads:[~2026-09-08 11:29 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-01 11:01 [PATCH 00/12] mm: make userland page table freeing RCU-safe Lorenzo Stoakes (ARM)
2026-09-01 11:01 ` Lorenzo Stoakes (ARM)
2026-09-01 11:01 ` Lorenzo Stoakes (ARM)
2026-09-01 11:01 ` [PATCH 01/12] mm/huge_memory: zap deposited page tables after an RCU grace period Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:18   ` sashiko-bot
2026-09-01 13:19   ` Kiryl Shutsemau
2026-09-01 13:19     ` Kiryl Shutsemau
2026-09-01 13:19     ` Kiryl Shutsemau
2026-09-01 14:12     ` Lorenzo Stoakes (ARM)
2026-09-01 14:12       ` Lorenzo Stoakes (ARM)
2026-09-01 14:12       ` Lorenzo Stoakes (ARM)
2026-09-01 14:24       ` Jason Gunthorpe
2026-09-01 14:24         ` Jason Gunthorpe
2026-09-01 14:24         ` Jason Gunthorpe
2026-09-01 14:41         ` Lorenzo Stoakes (ARM)
2026-09-01 14:41           ` Lorenzo Stoakes (ARM)
2026-09-01 14:41           ` Lorenzo Stoakes (ARM)
2026-09-01 15:28           ` Kiryl Shutsemau
2026-09-01 15:28             ` Kiryl Shutsemau
2026-09-01 15:28             ` Kiryl Shutsemau
2026-09-01 15:45             ` Lorenzo Stoakes (ARM)
2026-09-01 15:45               ` Lorenzo Stoakes (ARM)
2026-09-01 15:45               ` Lorenzo Stoakes (ARM)
2026-09-01 17:11               ` Kiryl Shutsemau
2026-09-01 17:11                 ` Kiryl Shutsemau
2026-09-01 17:11                 ` Kiryl Shutsemau
2026-09-01 17:14                 ` Lorenzo Stoakes (ARM)
2026-09-01 17:14                   ` Lorenzo Stoakes (ARM)
2026-09-01 17:14                   ` Lorenzo Stoakes (ARM)
2026-09-01 15:54             ` Liam R. Howlett
2026-09-01 15:54               ` Liam R. Howlett
2026-09-01 15:54               ` Liam R. Howlett
2026-09-01 16:06               ` Jason Gunthorpe
2026-09-01 16:06                 ` Jason Gunthorpe
2026-09-01 16:06                 ` Jason Gunthorpe
2026-09-01 17:13               ` Kiryl Shutsemau
2026-09-01 17:13                 ` Kiryl Shutsemau
2026-09-01 17:13                 ` Kiryl Shutsemau
2026-09-01 17:47                 ` Liam R. Howlett
2026-09-01 17:47                   ` Liam R. Howlett
2026-09-01 17:47                   ` Liam R. Howlett
2026-09-01 11:01 ` [PATCH 02/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for most 2-level architectures Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:22   ` sashiko-bot
2026-09-01 11:01 ` [PATCH 03/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for MMU riscv Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:14   ` sashiko-bot
2026-09-01 11:01 ` [PATCH 04/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for MMU arm Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:18   ` sashiko-bot
2026-09-01 11:01 ` [PATCH 05/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for arc, microblaze, xtensa Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:28   ` sashiko-bot
2026-09-07 21:07   ` Suren Baghdasaryan
2026-09-07 21:07     ` Suren Baghdasaryan
2026-09-07 21:07     ` Suren Baghdasaryan
2026-09-08 11:28     ` Lorenzo Stoakes (ARM) [this message]
2026-09-08 11:28       ` Lorenzo Stoakes (ARM)
2026-09-08 11:28       ` Lorenzo Stoakes (ARM)
2026-09-01 11:01 ` [PATCH 06/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for sparc64 Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:23   ` sashiko-bot
2026-09-01 11:01 ` [PATCH 07/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for m68k-coldfire Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:23   ` sashiko-bot
2026-09-01 11:01 ` [PATCH 08/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for sh-X2 Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:30   ` sashiko-bot
2026-09-01 11:01 ` [PATCH 09/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for m68k-motorola Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:30   ` sashiko-bot
2026-09-01 11:01 ` [PATCH 10/12] mm: enable MMU_GATHER_RCU_TABLE_FREE for sparc32 Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:37   ` sashiko-bot
2026-09-01 11:01 ` [PATCH 11/12] mm: make userland page table freeing RCU-safe Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:52   ` sashiko-bot
2026-09-01 13:33   ` Kiryl Shutsemau
2026-09-01 13:33     ` Kiryl Shutsemau
2026-09-01 13:33     ` Kiryl Shutsemau
2026-09-01 14:03     ` Lorenzo Stoakes (ARM)
2026-09-01 14:03       ` Lorenzo Stoakes (ARM)
2026-09-01 14:03       ` Lorenzo Stoakes (ARM)
2026-09-01 11:01 ` [PATCH 12/12] mm: change the contract for free_pgtables(), update docs Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:01   ` Lorenzo Stoakes (ARM)
2026-09-01 11:37   ` sashiko-bot
2026-09-01 13:57   ` Kiryl Shutsemau
2026-09-01 13:57     ` Kiryl Shutsemau
2026-09-01 13:57     ` Kiryl Shutsemau
2026-09-01 14:31     ` Lorenzo Stoakes (ARM)
2026-09-01 14:31       ` Lorenzo Stoakes (ARM)
2026-09-01 14:31       ` Lorenzo Stoakes (ARM)
2026-09-01 17:15       ` Kiryl Shutsemau
2026-09-01 17:15         ` Kiryl Shutsemau
2026-09-01 17:15         ` Kiryl Shutsemau
2026-09-01 17:25         ` Lorenzo Stoakes (ARM)
2026-09-01 17:25           ` Lorenzo Stoakes (ARM)
2026-09-01 17:25           ` Lorenzo Stoakes (ARM)
2026-09-07 16:53           ` Suren Baghdasaryan
2026-09-07 16:53             ` Suren Baghdasaryan
2026-09-07 16:53             ` Suren Baghdasaryan
2026-09-08 11:29             ` Lorenzo Stoakes (ARM)
2026-09-08 11:29               ` Lorenzo Stoakes (ARM)
2026-09-08 11:29               ` Lorenzo Stoakes (ARM)

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=ap_xXoS5XDqJ0mgU@gremlin \
    --to=ljs@kernel.org \
    --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=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=lance.yang@linux.dev \
    --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-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=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=richard.henderson@linaro.org \
    --cc=richard@nod.at \
    --cc=rppt@kernel.org \
    --cc=ryan.roberts@arm.com \
    --cc=schuster.simon@siemens-energy.com \
    --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.