From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: Zi Yan <ziy@nvidia.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Liam R. Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>,
Jann Horn <jannh@google.com>, Pedro Falcato <pfalcato@suse.de>,
David Hildenbrand <david@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>, Jonathan Corbet <corbet@lwn.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>,
Jason Gunthorpe <jgg@ziepe.ca>,
Leon Romanovsky <leon@kernel.org>,
Paul Moore <paul@paul-moore.com>,
Stephen Smalley <stephen.smalley.work@gmail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
Eduard Zingerman <eddyz87@gmail.com>,
Kumar Kartikeya Dwivedi <memxor@gmail.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
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>,
Doug Gilbert <dgilbert@interlog.com>,
"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
"Martin K. Petersen" <mkp@kernel.org>,
Jaya Kumar <jayalk@intworks.biz>,
Simona Vetter <simona@ffwll.ch>, Helge Deller <deller@gmx.de>,
Sebastian Reichel <sre@kernel.org>,
John Hubbard <jhubbard@nvidia.com>, Peter Xu <peterx@redhat.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Oleg Nesterov <oleg@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
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, Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Rik van Riel <riel@surriel.com>, Harry Yoo <harry@kernel.org>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>, Will Deacon <will@kernel.org>,
"Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
Nick Piggin <npiggin@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
Muchun Song <muchun.song@linux.dev>,
Oscar Salvador <osalvador@suse.de>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
Jan Kara <jack@suse.cz>, Marc Zyngier <maz@kernel.org>,
Oliver Upton <oupton@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Anup Patel <anup@brainfault.org>, Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Janosch Frank <frankja@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
"David S. Miller" <davem@davemloft.net>,
Andreas Larsson <andreas@gaisler.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>,
Matthew Brost <matthew.brost@intel.com>,
Joshua Hahn <joshua.hahnjy@gmail.com>,
Rakie Kim <rakie.kim@sk.com>, Byungchul Park <byungchul@sk.com>,
Gregory Price <gourry@gourry.net>,
Ying Huang <ying.huang@linux.alibaba.com>,
Alistair Popple <apopple@nvidia.com>,
Chris Li <chrisl@kernel.org>, Kairui Song <kasong@tencent.com>,
Kemeng Shi <shikemeng@huaweicloud.com>,
Nhat Pham <nphamcs@gmail.com>, Baoquan He <baoquan.he@linux.dev>,
Youngjun Park <youngjun.park@lge.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Qi Zheng <qi.zheng@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Axel Rasmussen <axelrasmussen@google.com>,
Yuanchu Xie <yuanchu@google.com>, Wei Xu <weixugc@google.com>,
Chengming Zhou <chengming.zhou@linux.dev>,
Michal Hocko <mhocko@kernel.org>,
Miklos Szeredi <miklos@szeredi.hu>, Xu Xin <xu.xin@linux.dev>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, linux-usb@vger.kernel.org,
linux-rdma@vger.kernel.org, selinux@vger.kernel.org,
linux-sound@vger.kernel.org, bpf@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-fbdev@vger.kernel.org,
dri-devel@lists.freedesktop.org,
linux-trace-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org, linux-arch@vger.kernel.org,
linux-fsdevel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,
kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, sparclinux@vger.kernel.org,
fuse-devel@lists.linux.dev
Subject: Re: [PATCH v3 24/40] mm/mlock: eliminate weird VMA_IO_BIT abuse and simplify
Date: Thu, 24 Sep 2026 11:21:49 +0100 [thread overview]
Message-ID: <arT3K71l86fUVldk@gremlin> (raw)
In-Reply-To: <93672B94-BB0C-4713-8F8A-3619D81DB7BB@nvidia.com>
On Wed, Sep 23, 2026 at 04:06:14PM -0400, Zi Yan wrote:
> On 17 Sep 2026, at 12:22, Lorenzo Stoakes (ARM) wrote:
>
> > When performing mlock() or munlock() otherwise normal VMAs have VMA_IO_BIT
> > solely to fix a race with migration which might otherwise double-count
> > mlock VMAs.
> >
> > This is unnecessary - at the point of applying folio mlock state, whether
> > setting or clearing PG_mlocked, we know whether or not we are locking.
> >
> > Solve this in two ways - thread a boolean through the page table walk
> > indicating whether a lock or unlock is being performed, and run a locking
> > walk with VMA_LOCKONFAULT_BIT set and VMA_LOCKED_BIT cleared.
> >
> > This state never occurs otherwise, as VMA_LOCKONFAULT_BIT always implies
> > VMA_LOCKED_BIT. These are also always cleared together.
> >
> > Then, update folio_add_lru_vma() and mlock_folio() to check only for
> > VMA_LOCKED_BIT, and update try_to_unmap_one() to check for VMA_LOCKED_MASK
> > instead.
> >
> > Also remove the useless invocation of allow_mlock_munlock() which simply
> > returns true if unlocking and instead rename it to allow_mlock() and only
> > call it when locking.
> >
> > Finally, with the other mlock abuse of VMA_IO_BIT addressed, update
> > mlock_vma_folio() and folio_add_lru_vma() to simply test for
> > VMA_LOCKED_BIT. munlock_vma_folio() tests VMA_LOCKED_MASK instead, as an
> > unmap racing with the locking walk must still munlock folios the walk has
> > already counted.
> >
> > While here, also replace some deprecated VMA flag predicates.
> >
> > Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> > ---
> > mm/folio.c | 2 +-
> > mm/internal.h | 10 +++++++---
> > mm/mlock.c | 51 +++++++++++++++++++--------------------------------
> > mm/rmap.c | 4 +++-
> > 4 files changed, 30 insertions(+), 37 deletions(-)
> >
> > diff --git a/mm/folio.c b/mm/folio.c
> > index 47a437e0f7fd..35e242b48870 100644
> > --- a/mm/folio.c
> > +++ b/mm/folio.c
> > @@ -505,7 +505,7 @@ void folio_add_lru_vma(struct folio *folio, struct vm_area_struct *vma)
> > {
> > VM_BUG_ON_FOLIO(folio_test_lru(folio), folio);
> >
> > - if (unlikely((vma->vm_flags & (VM_LOCKED | VM_SPECIAL)) == VM_LOCKED))
> > + if (vma_test(vma, VMA_LOCKED_BIT))
>
> I think it is worth documenting VMA_LOCKONFAULT_BIT alone means mlock in
> progress, like you did in munlock_vma_folio(). Just to keep the protocol
> explicit for all the readers.
Well I'm not sure it's necessary here honestly, because this never checked
VMA_LOCKED_MASK anyway, and VMA_LOCKONFAULT_BIT never made a difference.
So the meaning of VMA_LOCKED_BIT here is strictly 'is it locked' and it's
correctly handled.
And I fear that it becomes whack-a-mole - the neat thing about this change is
that you no longer have to special case the stupid VM_SPECIAL thing, and can in
fact do the 'normal' thing of _just checking_ VMA_LOCKED_BIT :)
So I think it's better not to.
>
> > mlock_new_folio(folio);
> > else
> > folio_add_lru(folio);
> > diff --git a/mm/internal.h b/mm/internal.h
> > index b2c6c9435021..84aa3e6c8bac 100644
> > --- a/mm/internal.h
> > +++ b/mm/internal.h
> > @@ -971,8 +971,7 @@ void mlock_folio(struct folio *folio);
> > static inline void mlock_vma_folio(struct folio *folio,
> > struct vm_area_struct *vma)
> > {
> > - /* The VM_IO check prevents migration from double-counting during mlock. */
> > - if (unlikely((vma->vm_flags & (VM_LOCKED|VM_SPECIAL)) == VM_LOCKED))
> > + if (vma_test(vma, VMA_LOCKED_BIT))
>
> Ditto.
Similar reasoning to above.
>
> > mlock_folio(folio);
> > }
> >
> > @@ -989,7 +988,12 @@ static inline void munlock_vma_folio(struct folio *folio,
> > * always munlock the folio and page reclaim will correct it
> > * if it's wrong.
> > */
> > - if (unlikely(vma->vm_flags & VM_LOCKED))
> > + /*
> > + * VMA_LOCKONFAULT_BIT alone marks an mlock walk in progress, see
> > + * mlock_vma_pages_range(). An unmap racing with the walk must still
> > + * munlock folios the walk has already counted.
> > + */
Here it's worth mentioning, as it's specifically relying on the new
behaviour. Although it's neatly using the VMA_LOCKED_MASK to handle both the
locked case and the 'being locked' case :)
> > + if (unlikely(vma_test_any_mask(vma, VMA_LOCKED_MASK)))
> > munlock_folio(folio);
> > }
> >
>
> Why I am commenting in the middle of the series? Because I am taking
> a quiz given by LLM based on this series to get myself enough background
> knowledge to review this series. This mlock part came up at part E
> and I only have part F left before I can do the full review. :)
Thanks! :) I really appreciate you taking the time to look at this! Sorry it's
so large.
I held this series back from last cycle to help with review load, then spent
some time fixing various AI-discovered things, and all the patches are necessary
(well for the most part) to get where the series needs to go.
I think the change is worth it though!
>
> Best Regards,
> Yan, Zi
--
Cheers, Lorenzo
WARNING: multiple messages have this Message-ID (diff)
From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: Zi Yan <ziy@nvidia.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Liam R. Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>, Jann Horn <jannh@google.com>,
Pedro Falcato <pfalcato@suse.de>,
David Hildenbrand <david@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>, Jonathan Corbet <corbet@lwn.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>,
Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>,
Paul Moore <paul@paul-moore.com>,
Stephen Smalley <stephen.smalley.work@gmail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
Eduard Zingerman <eddyz87@gmail.com>,
Kumar Kartikeya Dwivedi <memxor@gmail.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
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>,
Doug Gilbert <dgilbert@interlog.com>,
"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
"Martin K. Petersen" <mkp@kernel.org>,
Jaya Kumar <jayalk@intworks.biz>, Simona Vetter <simona@ffwll.ch>,
Helge Deller <deller@gmx.de>, Sebastian Reichel <sre@kernel.org>,
John Hubbard <jhubbard@nvidia.com>, Peter Xu <peterx@redhat.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Oleg Nesterov <oleg@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
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, Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Rik van Riel <riel@surriel.com>, Harry Yoo <harry@kernel.org>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>, Will Deacon <will@kernel.org>,
"Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
Nick Piggin <npiggin@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
Muchun Song <muchun.song@linux.dev>,
Oscar Salvador <osalvador@suse.de>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
Jan Kara <jack@suse.cz>, Marc Zyngier <maz@kernel.org>,
Oliver Upton <oupton@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Anup Patel <anup@brainfault.org>, Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Janosch Frank <frankja@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
"David S. Miller" <davem@davemloft.net>,
Andreas Larsson <andreas@gaisler.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>,
Matthew Brost <matthew.brost@intel.com>,
Joshua Hahn <joshua.hahnjy@gmail.com>,
Rakie Kim <rakie.kim@sk.com>, Byungchul Park <byungchul@sk.com>,
Gregory Price <gourry@gourry.net>,
Ying Huang <ying.huang@linux.alibaba.com>,
Alistair Popple <apopple@nvidia.com>,
Chris Li <chrisl@kernel.org>, Kairui Song <kasong@tencent.com>,
Kemeng Shi <shikemeng@huaweicloud.com>,
Nhat Pham <nphamcs@gmail.com>, Baoquan He <baoquan.he@linux.dev>,
Youngjun Park <youngjun.park@lge.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Qi Zheng <qi.zheng@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Axel Rasmussen <axelrasmussen@google.com>,
Yuanchu Xie <yuanchu@google.com>, Wei Xu <weixugc@google.com>,
Chengming Zhou <chengming.zhou@linux.dev>,
Michal Hocko <mhocko@kernel.org>,
Miklos Szeredi <miklos@szeredi.hu>, Xu Xin <xu.xin@linux.dev>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, linux-usb@vger.kernel.org,
linux-rdma@vger.kernel.org, selinux@vger.kernel.org,
linux-sound@vger.kernel.org, bpf@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-fbdev@vger.kernel.org,
dri-devel@lists.freedesktop.org,
linux-trace-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org, linux-arch@vger.kernel.org,
linux-fsdevel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,
kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, sparclinux@vger.kernel.org,
fuse-devel@lists.linux.dev
Subject: Re: [PATCH v3 24/40] mm/mlock: eliminate weird VMA_IO_BIT abuse and simplify
Date: Thu, 24 Sep 2026 11:21:49 +0100 [thread overview]
Message-ID: <arT3K71l86fUVldk@gremlin> (raw)
In-Reply-To: <93672B94-BB0C-4713-8F8A-3619D81DB7BB@nvidia.com>
On Wed, Sep 23, 2026 at 04:06:14PM -0400, Zi Yan wrote:
> On 17 Sep 2026, at 12:22, Lorenzo Stoakes (ARM) wrote:
>
> > When performing mlock() or munlock() otherwise normal VMAs have VMA_IO_BIT
> > solely to fix a race with migration which might otherwise double-count
> > mlock VMAs.
> >
> > This is unnecessary - at the point of applying folio mlock state, whether
> > setting or clearing PG_mlocked, we know whether or not we are locking.
> >
> > Solve this in two ways - thread a boolean through the page table walk
> > indicating whether a lock or unlock is being performed, and run a locking
> > walk with VMA_LOCKONFAULT_BIT set and VMA_LOCKED_BIT cleared.
> >
> > This state never occurs otherwise, as VMA_LOCKONFAULT_BIT always implies
> > VMA_LOCKED_BIT. These are also always cleared together.
> >
> > Then, update folio_add_lru_vma() and mlock_folio() to check only for
> > VMA_LOCKED_BIT, and update try_to_unmap_one() to check for VMA_LOCKED_MASK
> > instead.
> >
> > Also remove the useless invocation of allow_mlock_munlock() which simply
> > returns true if unlocking and instead rename it to allow_mlock() and only
> > call it when locking.
> >
> > Finally, with the other mlock abuse of VMA_IO_BIT addressed, update
> > mlock_vma_folio() and folio_add_lru_vma() to simply test for
> > VMA_LOCKED_BIT. munlock_vma_folio() tests VMA_LOCKED_MASK instead, as an
> > unmap racing with the locking walk must still munlock folios the walk has
> > already counted.
> >
> > While here, also replace some deprecated VMA flag predicates.
> >
> > Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> > ---
> > mm/folio.c | 2 +-
> > mm/internal.h | 10 +++++++---
> > mm/mlock.c | 51 +++++++++++++++++++--------------------------------
> > mm/rmap.c | 4 +++-
> > 4 files changed, 30 insertions(+), 37 deletions(-)
> >
> > diff --git a/mm/folio.c b/mm/folio.c
> > index 47a437e0f7fd..35e242b48870 100644
> > --- a/mm/folio.c
> > +++ b/mm/folio.c
> > @@ -505,7 +505,7 @@ void folio_add_lru_vma(struct folio *folio, struct vm_area_struct *vma)
> > {
> > VM_BUG_ON_FOLIO(folio_test_lru(folio), folio);
> >
> > - if (unlikely((vma->vm_flags & (VM_LOCKED | VM_SPECIAL)) == VM_LOCKED))
> > + if (vma_test(vma, VMA_LOCKED_BIT))
>
> I think it is worth documenting VMA_LOCKONFAULT_BIT alone means mlock in
> progress, like you did in munlock_vma_folio(). Just to keep the protocol
> explicit for all the readers.
Well I'm not sure it's necessary here honestly, because this never checked
VMA_LOCKED_MASK anyway, and VMA_LOCKONFAULT_BIT never made a difference.
So the meaning of VMA_LOCKED_BIT here is strictly 'is it locked' and it's
correctly handled.
And I fear that it becomes whack-a-mole - the neat thing about this change is
that you no longer have to special case the stupid VM_SPECIAL thing, and can in
fact do the 'normal' thing of _just checking_ VMA_LOCKED_BIT :)
So I think it's better not to.
>
> > mlock_new_folio(folio);
> > else
> > folio_add_lru(folio);
> > diff --git a/mm/internal.h b/mm/internal.h
> > index b2c6c9435021..84aa3e6c8bac 100644
> > --- a/mm/internal.h
> > +++ b/mm/internal.h
> > @@ -971,8 +971,7 @@ void mlock_folio(struct folio *folio);
> > static inline void mlock_vma_folio(struct folio *folio,
> > struct vm_area_struct *vma)
> > {
> > - /* The VM_IO check prevents migration from double-counting during mlock. */
> > - if (unlikely((vma->vm_flags & (VM_LOCKED|VM_SPECIAL)) == VM_LOCKED))
> > + if (vma_test(vma, VMA_LOCKED_BIT))
>
> Ditto.
Similar reasoning to above.
>
> > mlock_folio(folio);
> > }
> >
> > @@ -989,7 +988,12 @@ static inline void munlock_vma_folio(struct folio *folio,
> > * always munlock the folio and page reclaim will correct it
> > * if it's wrong.
> > */
> > - if (unlikely(vma->vm_flags & VM_LOCKED))
> > + /*
> > + * VMA_LOCKONFAULT_BIT alone marks an mlock walk in progress, see
> > + * mlock_vma_pages_range(). An unmap racing with the walk must still
> > + * munlock folios the walk has already counted.
> > + */
Here it's worth mentioning, as it's specifically relying on the new
behaviour. Although it's neatly using the VMA_LOCKED_MASK to handle both the
locked case and the 'being locked' case :)
> > + if (unlikely(vma_test_any_mask(vma, VMA_LOCKED_MASK)))
> > munlock_folio(folio);
> > }
> >
>
> Why I am commenting in the middle of the series? Because I am taking
> a quiz given by LLM based on this series to get myself enough background
> knowledge to review this series. This mlock part came up at part E
> and I only have part F left before I can do the full review. :)
Thanks! :) I really appreciate you taking the time to look at this! Sorry it's
so large.
I held this series back from last cycle to help with review load, then spent
some time fixing various AI-discovered things, and all the patches are necessary
(well for the most part) to get where the series needs to go.
I think the change is worth it though!
>
> Best Regards,
> Yan, Zi
--
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: Zi Yan <ziy@nvidia.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Liam R. Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>, Jann Horn <jannh@google.com>,
Pedro Falcato <pfalcato@suse.de>,
David Hildenbrand <david@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>, Jonathan Corbet <corbet@lwn.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>,
Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>,
Paul Moore <paul@paul-moore.com>,
Stephen Smalley <stephen.smalley.work@gmail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
Eduard Zingerman <eddyz87@gmail.com>,
Kumar Kartikeya Dwivedi <memxor@gmail.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
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>,
Doug Gilbert <dgilbert@interlog.com>,
"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
"Martin K. Petersen" <mkp@kernel.org>,
Jaya Kumar <jayalk@intworks.biz>, Simona Vetter <simona@ffwll.ch>,
Helge Deller <deller@gmx.de>, Sebastian Reichel <sre@kernel.org>,
John Hubbard <jhubbard@nvidia.com>, Peter Xu <peterx@redhat.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Oleg Nesterov <oleg@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
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, Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Rik van Riel <riel@surriel.com>, Harry Yoo <harry@kernel.org>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>, Will Deacon <will@kernel.org>,
"Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
Nick Piggin <npiggin@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
Muchun Song <muchun.song@linux.dev>,
Oscar Salvador <osalvador@suse.de>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
Jan Kara <jack@suse.cz>, Marc Zyngier <maz@kernel.org>,
Oliver Upton <oupton@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Anup Patel <anup@brainfault.org>, Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Janosch Frank <frankja@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
"David S. Miller" <davem@davemloft.net>,
Andreas Larsson <andreas@gaisler.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>,
Matthew Brost <matthew.brost@intel.com>,
Joshua Hahn <joshua.hahnjy@gmail.com>,
Rakie Kim <rakie.kim@sk.com>, Byungchul Park <byungchul@sk.com>,
Gregory Price <gourry@gourry.net>,
Ying Huang <ying.huang@linux.alibaba.com>,
Alistair Popple <apopple@nvidia.com>,
Chris Li <chrisl@kernel.org>, Kairui Song <kasong@tencent.com>,
Kemeng Shi <shikemeng@huaweicloud.com>,
Nhat Pham <nphamcs@gmail.com>, Baoquan He <baoquan.he@linux.dev>,
Youngjun Park <youngjun.park@lge.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Qi Zheng <qi.zheng@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Axel Rasmussen <axelrasmussen@google.com>,
Yuanchu Xie <yuanchu@google.com>, Wei Xu <weixugc@google.com>,
Chengming Zhou <chengming.zhou@linux.dev>,
Michal Hocko <mhocko@kernel.org>,
Miklos Szeredi <miklos@szeredi.hu>, Xu Xin <xu.xin@linux.dev>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, linux-usb@vger.kernel.org,
linux-rdma@vger.kernel.org, selinux@vger.kernel.org,
linux-sound@vger.kernel.org, bpf@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-fbdev@vger.kernel.org,
dri-devel@lists.freedesktop.org,
linux-trace-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org, linux-arch@vger.kernel.org,
linux-fsdevel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,
kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, sparclinux@vger.kernel.org,
fuse-devel@lists.linux.dev
Subject: Re: [PATCH v3 24/40] mm/mlock: eliminate weird VMA_IO_BIT abuse and simplify
Date: Thu, 24 Sep 2026 11:21:49 +0100 [thread overview]
Message-ID: <arT3K71l86fUVldk@gremlin> (raw)
In-Reply-To: <93672B94-BB0C-4713-8F8A-3619D81DB7BB@nvidia.com>
On Wed, Sep 23, 2026 at 04:06:14PM -0400, Zi Yan wrote:
> On 17 Sep 2026, at 12:22, Lorenzo Stoakes (ARM) wrote:
>
> > When performing mlock() or munlock() otherwise normal VMAs have VMA_IO_BIT
> > solely to fix a race with migration which might otherwise double-count
> > mlock VMAs.
> >
> > This is unnecessary - at the point of applying folio mlock state, whether
> > setting or clearing PG_mlocked, we know whether or not we are locking.
> >
> > Solve this in two ways - thread a boolean through the page table walk
> > indicating whether a lock or unlock is being performed, and run a locking
> > walk with VMA_LOCKONFAULT_BIT set and VMA_LOCKED_BIT cleared.
> >
> > This state never occurs otherwise, as VMA_LOCKONFAULT_BIT always implies
> > VMA_LOCKED_BIT. These are also always cleared together.
> >
> > Then, update folio_add_lru_vma() and mlock_folio() to check only for
> > VMA_LOCKED_BIT, and update try_to_unmap_one() to check for VMA_LOCKED_MASK
> > instead.
> >
> > Also remove the useless invocation of allow_mlock_munlock() which simply
> > returns true if unlocking and instead rename it to allow_mlock() and only
> > call it when locking.
> >
> > Finally, with the other mlock abuse of VMA_IO_BIT addressed, update
> > mlock_vma_folio() and folio_add_lru_vma() to simply test for
> > VMA_LOCKED_BIT. munlock_vma_folio() tests VMA_LOCKED_MASK instead, as an
> > unmap racing with the locking walk must still munlock folios the walk has
> > already counted.
> >
> > While here, also replace some deprecated VMA flag predicates.
> >
> > Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> > ---
> > mm/folio.c | 2 +-
> > mm/internal.h | 10 +++++++---
> > mm/mlock.c | 51 +++++++++++++++++++--------------------------------
> > mm/rmap.c | 4 +++-
> > 4 files changed, 30 insertions(+), 37 deletions(-)
> >
> > diff --git a/mm/folio.c b/mm/folio.c
> > index 47a437e0f7fd..35e242b48870 100644
> > --- a/mm/folio.c
> > +++ b/mm/folio.c
> > @@ -505,7 +505,7 @@ void folio_add_lru_vma(struct folio *folio, struct vm_area_struct *vma)
> > {
> > VM_BUG_ON_FOLIO(folio_test_lru(folio), folio);
> >
> > - if (unlikely((vma->vm_flags & (VM_LOCKED | VM_SPECIAL)) == VM_LOCKED))
> > + if (vma_test(vma, VMA_LOCKED_BIT))
>
> I think it is worth documenting VMA_LOCKONFAULT_BIT alone means mlock in
> progress, like you did in munlock_vma_folio(). Just to keep the protocol
> explicit for all the readers.
Well I'm not sure it's necessary here honestly, because this never checked
VMA_LOCKED_MASK anyway, and VMA_LOCKONFAULT_BIT never made a difference.
So the meaning of VMA_LOCKED_BIT here is strictly 'is it locked' and it's
correctly handled.
And I fear that it becomes whack-a-mole - the neat thing about this change is
that you no longer have to special case the stupid VM_SPECIAL thing, and can in
fact do the 'normal' thing of _just checking_ VMA_LOCKED_BIT :)
So I think it's better not to.
>
> > mlock_new_folio(folio);
> > else
> > folio_add_lru(folio);
> > diff --git a/mm/internal.h b/mm/internal.h
> > index b2c6c9435021..84aa3e6c8bac 100644
> > --- a/mm/internal.h
> > +++ b/mm/internal.h
> > @@ -971,8 +971,7 @@ void mlock_folio(struct folio *folio);
> > static inline void mlock_vma_folio(struct folio *folio,
> > struct vm_area_struct *vma)
> > {
> > - /* The VM_IO check prevents migration from double-counting during mlock. */
> > - if (unlikely((vma->vm_flags & (VM_LOCKED|VM_SPECIAL)) == VM_LOCKED))
> > + if (vma_test(vma, VMA_LOCKED_BIT))
>
> Ditto.
Similar reasoning to above.
>
> > mlock_folio(folio);
> > }
> >
> > @@ -989,7 +988,12 @@ static inline void munlock_vma_folio(struct folio *folio,
> > * always munlock the folio and page reclaim will correct it
> > * if it's wrong.
> > */
> > - if (unlikely(vma->vm_flags & VM_LOCKED))
> > + /*
> > + * VMA_LOCKONFAULT_BIT alone marks an mlock walk in progress, see
> > + * mlock_vma_pages_range(). An unmap racing with the walk must still
> > + * munlock folios the walk has already counted.
> > + */
Here it's worth mentioning, as it's specifically relying on the new
behaviour. Although it's neatly using the VMA_LOCKED_MASK to handle both the
locked case and the 'being locked' case :)
> > + if (unlikely(vma_test_any_mask(vma, VMA_LOCKED_MASK)))
> > munlock_folio(folio);
> > }
> >
>
> Why I am commenting in the middle of the series? Because I am taking
> a quiz given by LLM based on this series to get myself enough background
> knowledge to review this series. This mlock part came up at part E
> and I only have part F left before I can do the full review. :)
Thanks! :) I really appreciate you taking the time to look at this! Sorry it's
so large.
I held this series back from last cycle to help with review load, then spent
some time fixing various AI-discovered things, and all the patches are necessary
(well for the most part) to get where the series needs to go.
I think the change is worth it though!
>
> Best Regards,
> Yan, Zi
--
Cheers, Lorenzo
--
kvm-riscv mailing list
kvm-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kvm-riscv
next prev parent reply other threads:[~2026-09-24 10:22 UTC|newest]
Thread overview: 483+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-17 16:22 [PATCH v3 00/40] mm: make VMA flag semantics explicit, eliminate VM_SPECIAL Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 01/40] mm/vma: fix mmap_prepare file handling, remove file_doesnt_need_get Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:54 ` sashiko-bot
2026-09-23 15:21 ` Suren Baghdasaryan
2026-09-23 15:21 ` Suren Baghdasaryan
2026-09-23 15:21 ` Suren Baghdasaryan
2026-09-23 15:46 ` Lorenzo Stoakes (ARM)
2026-09-23 15:46 ` Lorenzo Stoakes (ARM)
2026-09-23 15:46 ` Lorenzo Stoakes (ARM)
2026-09-23 15:59 ` Suren Baghdasaryan
2026-09-23 15:59 ` Suren Baghdasaryan
2026-09-23 15:59 ` Suren Baghdasaryan
2026-09-24 2:20 ` Zi Yan
2026-09-24 2:20 ` Zi Yan
2026-09-24 2:20 ` Zi Yan
2026-09-24 10:03 ` Lorenzo Stoakes (ARM)
2026-09-24 10:03 ` Lorenzo Stoakes (ARM)
2026-09-24 10:03 ` Lorenzo Stoakes (ARM)
2026-09-24 16:28 ` Gregory Price
2026-09-25 9:30 ` Lorenzo Stoakes (ARM)
2026-09-24 19:00 ` Liam R. Howlett
2026-09-24 19:00 ` Liam R. Howlett
2026-09-24 19:00 ` Liam R. Howlett
2026-09-25 9:12 ` Lorenzo Stoakes (ARM)
2026-09-25 9:12 ` Lorenzo Stoakes (ARM)
2026-09-25 9:12 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 02/40] mm/vma: predicate setting mmap_prepare VMA fields on new vma alloc Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:07 ` sashiko-bot
2026-09-23 15:32 ` Suren Baghdasaryan
2026-09-23 15:32 ` Suren Baghdasaryan
2026-09-23 15:32 ` Suren Baghdasaryan
2026-09-23 15:53 ` Lorenzo Stoakes (ARM)
2026-09-23 15:53 ` Lorenzo Stoakes (ARM)
2026-09-23 15:53 ` Lorenzo Stoakes (ARM)
2026-09-23 16:09 ` Suren Baghdasaryan
2026-09-23 16:09 ` Suren Baghdasaryan
2026-09-23 16:09 ` Suren Baghdasaryan
2026-09-23 17:07 ` Lorenzo Stoakes (ARM)
2026-09-23 17:07 ` Lorenzo Stoakes (ARM)
2026-09-23 17:07 ` Lorenzo Stoakes (ARM)
2026-09-23 17:33 ` Lorenzo Stoakes (ARM)
2026-09-23 17:33 ` Lorenzo Stoakes (ARM)
2026-09-23 17:33 ` Lorenzo Stoakes (ARM)
2026-09-24 2:25 ` Zi Yan
2026-09-24 2:25 ` Zi Yan
2026-09-24 2:25 ` Zi Yan
2026-09-17 16:22 ` [PATCH v3 03/40] mm/vma: introduce and use vma_[flags_]can_merge() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:11 ` sashiko-bot
2026-09-23 16:23 ` Suren Baghdasaryan
2026-09-23 16:23 ` Suren Baghdasaryan
2026-09-23 16:23 ` Suren Baghdasaryan
2026-09-24 2:27 ` Zi Yan
2026-09-24 2:27 ` Zi Yan
2026-09-24 2:27 ` Zi Yan
2026-09-24 16:38 ` Gregory Price
2026-09-24 16:38 ` Gregory Price
2026-09-24 16:38 ` Gregory Price
2026-10-01 12:03 ` David Hildenbrand (Arm)
2026-10-01 12:03 ` David Hildenbrand (Arm)
2026-10-01 12:03 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 04/40] mm: consistently validate VMA state after mmap[_prepare] hooks Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:38 ` sashiko-bot
2026-09-23 16:47 ` Suren Baghdasaryan
2026-09-23 16:47 ` Suren Baghdasaryan
2026-09-23 16:47 ` Suren Baghdasaryan
2026-09-23 17:00 ` Lorenzo Stoakes (ARM)
2026-09-23 17:00 ` Lorenzo Stoakes (ARM)
2026-09-23 17:00 ` Lorenzo Stoakes (ARM)
2026-09-24 2:52 ` Zi Yan
2026-09-24 2:52 ` Zi Yan
2026-09-24 2:52 ` Zi Yan
2026-09-24 10:06 ` Lorenzo Stoakes (ARM)
2026-09-24 10:06 ` Lorenzo Stoakes (ARM)
2026-09-24 10:06 ` Lorenzo Stoakes (ARM)
2026-09-24 17:17 ` Gregory Price
2026-09-24 17:17 ` Gregory Price
2026-09-24 17:17 ` Gregory Price
2026-09-25 12:51 ` Lorenzo Stoakes (ARM)
2026-09-25 12:51 ` Lorenzo Stoakes (ARM)
2026-09-25 12:51 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 05/40] mm/vma: ensure mmap_prepare doesn't set actions on a mergeable vma Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:32 ` sashiko-bot
2026-09-24 18:00 ` Gregory Price
2026-09-24 18:00 ` Gregory Price
2026-09-24 18:00 ` Gregory Price
2026-09-25 9:51 ` Lorenzo Stoakes (ARM)
2026-09-25 9:51 ` Lorenzo Stoakes (ARM)
2026-09-25 9:51 ` Lorenzo Stoakes (ARM)
2026-09-24 19:28 ` Zi Yan
2026-09-24 19:28 ` Zi Yan
2026-09-24 19:28 ` Zi Yan
2026-09-25 9:55 ` Lorenzo Stoakes (ARM)
2026-09-25 9:55 ` Lorenzo Stoakes (ARM)
2026-09-25 9:55 ` Lorenzo Stoakes (ARM)
2026-09-25 7:28 ` Suren Baghdasaryan
2026-09-25 7:28 ` Suren Baghdasaryan
2026-09-25 7:28 ` Suren Baghdasaryan
2026-09-25 9:53 ` Lorenzo Stoakes (ARM)
2026-09-25 9:53 ` Lorenzo Stoakes (ARM)
2026-09-25 9:53 ` Lorenzo Stoakes (ARM)
2026-10-01 12:11 ` David Hildenbrand (Arm)
2026-10-01 12:11 ` David Hildenbrand (Arm)
2026-10-01 12:11 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 06/40] mm: make map_kernel_pages_[prepare,complete] internal and unexported Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:17 ` sashiko-bot
2026-09-24 19:30 ` Zi Yan
2026-09-24 19:30 ` Zi Yan
2026-09-24 19:30 ` Zi Yan
2026-09-25 7:35 ` Suren Baghdasaryan
2026-09-25 7:35 ` Suren Baghdasaryan
2026-09-25 7:35 ` Suren Baghdasaryan
2026-09-29 15:58 ` Gregory Price
2026-09-29 15:58 ` Gregory Price
2026-09-29 15:58 ` Gregory Price
2026-10-01 12:11 ` David Hildenbrand (Arm)
2026-10-01 12:11 ` David Hildenbrand (Arm)
2026-10-01 12:11 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 07/40] mm/vma: tidy up map kernel pages enum values Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:17 ` sashiko-bot
2026-09-24 19:30 ` Zi Yan
2026-09-24 19:30 ` Zi Yan
2026-09-24 19:30 ` Zi Yan
2026-09-25 7:37 ` Suren Baghdasaryan
2026-09-25 7:37 ` Suren Baghdasaryan
2026-09-25 7:37 ` Suren Baghdasaryan
2026-09-29 15:59 ` Gregory Price
2026-09-29 15:59 ` Gregory Price
2026-09-29 15:59 ` Gregory Price
2026-10-01 12:12 ` David Hildenbrand (Arm)
2026-10-01 12:12 ` David Hildenbrand (Arm)
2026-10-01 12:12 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 08/40] mm: add mmap action for discontiguous kernel page mapping Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:25 ` sashiko-bot
2026-09-25 20:53 ` Zi Yan
2026-09-25 20:53 ` Zi Yan
2026-09-25 20:53 ` Zi Yan
2026-09-27 21:44 ` Suren Baghdasaryan
2026-09-27 21:44 ` Suren Baghdasaryan
2026-09-27 21:44 ` Suren Baghdasaryan
2026-09-29 11:11 ` Lorenzo Stoakes (ARM)
2026-09-29 11:11 ` Lorenzo Stoakes (ARM)
2026-09-29 11:11 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 09/40] docs: filesystems: update mmap_prepare docs for discontig kernel pgs Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:32 ` sashiko-bot
2026-09-25 21:01 ` Zi Yan
2026-09-25 21:01 ` Zi Yan
2026-09-25 21:01 ` Zi Yan
2026-09-29 11:21 ` Lorenzo Stoakes (ARM)
2026-09-29 11:21 ` Lorenzo Stoakes (ARM)
2026-09-29 11:21 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 10/40] drivers/usb/mon: update to use mmap_prepare + map kernel pages Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:29 ` sashiko-bot
2026-10-02 9:55 ` Lance Yang
2026-10-02 12:12 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 11/40] infiniband: update hfi1 to use remap_vmalloc_range() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:36 ` sashiko-bot
2026-09-17 16:22 ` [PATCH v3 12/40] selinux: reject writable opens of policy file, drop mmap shared/write check Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:25 ` sashiko-bot
2026-09-17 16:22 ` [PATCH v3 13/40] ALSA: pcm: use vm_insert_page() to map PCM status page Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:34 ` sashiko-bot
2026-09-17 16:22 ` [PATCH v3 14/40] bpf: arena: mark arena_map_mmap() mappings VM_MIXEDMAP Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:25 ` sashiko-bot
2026-09-17 16:22 ` [PATCH v3 15/40] mm/vma: add vma[_flags]_is_kernel_owned() predicates Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:21 ` sashiko-bot
2026-09-26 1:37 ` Zi Yan
2026-09-26 1:37 ` Zi Yan
2026-09-26 1:37 ` Zi Yan
2026-10-01 12:36 ` David Hildenbrand (Arm)
2026-10-01 12:36 ` David Hildenbrand (Arm)
2026-10-01 12:36 ` David Hildenbrand (Arm)
2026-10-02 14:56 ` Lorenzo Stoakes (ARM)
2026-10-02 14:56 ` Lorenzo Stoakes (ARM)
2026-10-02 14:56 ` Lorenzo Stoakes (ARM)
2026-10-02 21:19 ` David Hildenbrand (Arm)
2026-10-02 21:19 ` David Hildenbrand (Arm)
2026-10-02 21:19 ` David Hildenbrand (Arm)
2026-10-03 9:03 ` Lorenzo Stoakes (ARM)
2026-10-03 9:03 ` Lorenzo Stoakes (ARM)
2026-10-03 9:03 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 16/40] mm/vma: only allow mmap to clear VMA_MAYWRITE_BIT if kernel-owned Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:28 ` sashiko-bot
2026-09-26 2:07 ` Zi Yan
2026-09-26 2:07 ` Zi Yan
2026-09-26 2:07 ` Zi Yan
2026-09-26 2:17 ` Zi Yan
2026-09-26 2:17 ` Zi Yan
2026-09-26 2:17 ` Zi Yan
2026-09-26 10:06 ` Lorenzo Stoakes (ARM)
2026-09-26 10:06 ` Lorenzo Stoakes (ARM)
2026-09-26 10:06 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 17/40] mm/vma: add and use vma_[flags]_is_fixed_mapping Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:27 ` sashiko-bot
2026-09-26 2:27 ` Zi Yan
2026-09-26 2:27 ` Zi Yan
2026-09-26 2:27 ` Zi Yan
2026-09-26 10:03 ` Lorenzo Stoakes (ARM)
2026-09-26 10:03 ` Lorenzo Stoakes (ARM)
2026-09-26 10:03 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 18/40] scsi: sg: convert mmap hook to mmap_prepare and rework Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:34 ` sashiko-bot
2026-09-17 16:22 ` [PATCH v3 19/40] fbdev: defio: assert FBINFO_VIRTFB, drop VM_IO, add VM_MIXEDMAP Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:27 ` sashiko-bot
2026-09-17 16:22 ` [PATCH v3 20/40] HSI: cmt_speech: convert mmap hook to mmap_prepare, refactor Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:31 ` sashiko-bot
2026-09-17 16:22 ` [PATCH v3 21/40] mm/gup: error out early on !VMA_MAYREAD_BIT VMAs Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:30 ` sashiko-bot
2026-09-26 2:30 ` Zi Yan
2026-09-26 2:30 ` Zi Yan
2026-09-26 2:30 ` Zi Yan
2026-09-17 16:22 ` [PATCH v3 22/40] uprobes: remove VM_IO, set VM_MIXEDMAP for mapped kernel pages Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:30 ` sashiko-bot
2026-09-17 16:22 ` [PATCH v3 23/40] mm/mlock: clear VMA_LOCKED_MASK over mmap callback Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:32 ` sashiko-bot
2026-10-01 15:20 ` Zi Yan
2026-10-01 15:20 ` Zi Yan
2026-10-01 15:20 ` Zi Yan
2026-10-02 12:26 ` Lorenzo Stoakes (ARM)
2026-10-02 12:26 ` Lorenzo Stoakes (ARM)
2026-10-02 12:26 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 24/40] mm/mlock: eliminate weird VMA_IO_BIT abuse and simplify Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:43 ` sashiko-bot
2026-09-23 20:06 ` Zi Yan
2026-09-23 20:06 ` Zi Yan
2026-09-23 20:06 ` Zi Yan
2026-09-24 10:21 ` Lorenzo Stoakes (ARM) [this message]
2026-09-24 10:21 ` Lorenzo Stoakes (ARM)
2026-09-24 10:21 ` Lorenzo Stoakes (ARM)
2026-09-24 15:50 ` Zi Yan
2026-09-24 15:50 ` Zi Yan
2026-09-24 15:50 ` Zi Yan
2026-09-25 9:35 ` Lorenzo Stoakes (ARM)
2026-09-25 9:35 ` Lorenzo Stoakes (ARM)
2026-09-25 9:35 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 25/40] mm/vma: enforce that only kernel-owned mappings may set VMA_IO_BIT Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:31 ` sashiko-bot
2026-09-29 2:12 ` Zi Yan
2026-09-29 2:12 ` Zi Yan
2026-09-29 2:12 ` Zi Yan
2026-09-17 16:22 ` [PATCH v3 26/40] mm: remove VMA_IO_BIT check in vma[_flags]_is_kernel_owned() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:34 ` sashiko-bot
2026-09-17 16:22 ` [PATCH v3 27/40] mm: remove hugetlb_inline.h Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:31 ` sashiko-bot
2026-09-29 2:13 ` Zi Yan
2026-09-29 2:13 ` Zi Yan
2026-09-29 2:13 ` Zi Yan
2026-10-02 6:52 ` David Hildenbrand (Arm)
2026-10-02 6:52 ` David Hildenbrand (Arm)
2026-10-02 6:52 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 28/40] mm: rename is_vm_hugetlb_page() to vma_is_hugetlb() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:30 ` sashiko-bot
2026-09-29 2:14 ` Zi Yan
2026-09-29 2:14 ` Zi Yan
2026-09-29 2:14 ` Zi Yan
2026-10-02 6:53 ` David Hildenbrand (Arm)
2026-10-02 6:53 ` David Hildenbrand (Arm)
2026-10-02 6:53 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 29/40] mm: drop some redundant checks around hugetlb VMAs Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:32 ` sashiko-bot
2026-09-29 2:36 ` Zi Yan
2026-09-29 2:36 ` Zi Yan
2026-09-29 2:36 ` Zi Yan
2026-10-02 6:54 ` David Hildenbrand (Arm)
2026-10-02 6:54 ` David Hildenbrand (Arm)
2026-10-02 6:54 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 30/40] mm/madvise: update is_valid_guard_vma() to use vma_can_merge() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:37 ` sashiko-bot
2026-09-29 2:38 ` Zi Yan
2026-09-29 2:38 ` Zi Yan
2026-09-29 2:38 ` Zi Yan
2026-10-02 6:57 ` David Hildenbrand (Arm)
2026-10-02 6:57 ` David Hildenbrand (Arm)
2026-10-02 6:57 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 31/40] mm/vma: introduce vma[_flags]_is_persistent() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:35 ` sashiko-bot
2026-09-30 2:00 ` Zi Yan
2026-09-30 2:00 ` Zi Yan
2026-09-30 2:00 ` Zi Yan
2026-10-02 6:59 ` David Hildenbrand (Arm)
2026-10-02 6:59 ` David Hildenbrand (Arm)
2026-10-02 6:59 ` David Hildenbrand (Arm)
2026-10-02 7:02 ` David Hildenbrand (Arm)
2026-10-02 7:02 ` David Hildenbrand (Arm)
2026-10-02 7:02 ` David Hildenbrand (Arm)
2026-10-02 7:05 ` David Hildenbrand (Arm)
2026-10-02 7:05 ` David Hildenbrand (Arm)
2026-10-02 7:05 ` David Hildenbrand (Arm)
2026-10-02 12:08 ` Lorenzo Stoakes (ARM)
2026-10-02 12:08 ` Lorenzo Stoakes (ARM)
2026-10-02 12:08 ` Lorenzo Stoakes (ARM)
2026-10-02 12:35 ` David Hildenbrand (Arm)
2026-10-02 12:35 ` David Hildenbrand (Arm)
2026-10-02 12:35 ` David Hildenbrand (Arm)
2026-10-02 12:48 ` Lorenzo Stoakes (ARM)
2026-10-02 12:48 ` Lorenzo Stoakes (ARM)
2026-10-02 12:48 ` Lorenzo Stoakes (ARM)
2026-10-02 13:11 ` David Hildenbrand (Arm)
2026-10-02 13:11 ` David Hildenbrand (Arm)
2026-10-02 13:11 ` David Hildenbrand (Arm)
2026-10-02 13:59 ` Lorenzo Stoakes (ARM)
2026-10-02 13:59 ` Lorenzo Stoakes (ARM)
2026-10-02 13:59 ` Lorenzo Stoakes (ARM)
2026-10-02 21:43 ` David Hildenbrand (Arm)
2026-10-02 21:43 ` David Hildenbrand (Arm)
2026-10-02 21:43 ` David Hildenbrand (Arm)
2026-10-03 13:16 ` Lorenzo Stoakes (ARM)
2026-10-03 13:16 ` Lorenzo Stoakes (ARM)
2026-10-03 13:16 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 32/40] mm/uffd: use predicates for userfaultfd checks Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:38 ` sashiko-bot
2026-09-30 2:02 ` Zi Yan
2026-09-30 2:02 ` Zi Yan
2026-09-30 2:02 ` Zi Yan
2026-10-02 7:04 ` David Hildenbrand (Arm)
2026-10-02 7:04 ` David Hildenbrand (Arm)
2026-10-02 7:04 ` David Hildenbrand (Arm)
2026-10-02 12:35 ` Lorenzo Stoakes (ARM)
2026-10-02 12:35 ` Lorenzo Stoakes (ARM)
2026-10-02 12:35 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 33/40] mm/madvise: use predicates for madvise(..., MADV_DOFORK) Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:37 ` sashiko-bot
2026-09-30 2:28 ` Zi Yan
2026-09-30 2:28 ` Zi Yan
2026-09-30 2:28 ` Zi Yan
2026-09-17 16:22 ` [PATCH v3 34/40] mm: eliminate VMA_SPECIAL_FLAGS usage when hugetlb explicitly tested Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:45 ` sashiko-bot
2026-09-30 2:42 ` Zi Yan
2026-09-30 2:42 ` Zi Yan
2026-09-30 2:42 ` Zi Yan
2026-09-30 9:32 ` Lorenzo Stoakes (ARM)
2026-09-30 9:32 ` Lorenzo Stoakes (ARM)
2026-09-30 9:32 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` [PATCH v3 35/40] mm: eliminate VMA_SPECIAL_FLAGS check in lru_gen_look_around() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:41 ` sashiko-bot
2026-09-30 2:42 ` Zi Yan
2026-09-30 2:42 ` Zi Yan
2026-09-30 2:42 ` Zi Yan
2026-10-02 7:06 ` David Hildenbrand (Arm)
2026-10-02 7:06 ` David Hildenbrand (Arm)
2026-10-02 7:06 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 36/40] mm: avoid use of VMA_SPECIAL_FLAGS in migrate_vma_setup() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:40 ` sashiko-bot
2026-09-30 2:47 ` Zi Yan
2026-09-30 2:47 ` Zi Yan
2026-09-30 2:47 ` Zi Yan
2026-10-02 7:07 ` David Hildenbrand (Arm)
2026-10-02 7:07 ` David Hildenbrand (Arm)
2026-10-02 7:07 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 37/40] mm: eliminate VM_SPECIAL, VMA_SPECIAL_FLAGS Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:44 ` sashiko-bot
2026-09-30 2:48 ` Zi Yan
2026-09-30 2:48 ` Zi Yan
2026-09-30 2:48 ` Zi Yan
2026-10-02 7:07 ` David Hildenbrand (Arm)
2026-10-02 7:07 ` David Hildenbrand (Arm)
2026-10-02 7:07 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 38/40] fuse: dax: do not set VM_MIXEDMAP Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:38 ` sashiko-bot
2026-10-02 7:09 ` David Hildenbrand (Arm)
2026-10-02 7:09 ` David Hildenbrand (Arm)
2026-10-02 7:09 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 39/40] mm/huge_memory: remove vma_is_special_huge() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:38 ` sashiko-bot
2026-10-01 15:21 ` Zi Yan
2026-10-01 15:21 ` Zi Yan
2026-10-01 15:21 ` Zi Yan
2026-10-02 7:11 ` David Hildenbrand (Arm)
2026-10-02 7:11 ` David Hildenbrand (Arm)
2026-10-02 7:11 ` David Hildenbrand (Arm)
2026-09-17 16:22 ` [PATCH v3 40/40] mm/vma: introduce and use vma[_flags]_can_gup() Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 16:22 ` Lorenzo Stoakes (ARM)
2026-09-17 17:36 ` sashiko-bot
2026-10-01 15:23 ` Zi Yan
2026-10-01 15:23 ` Zi Yan
2026-10-01 15:23 ` Zi Yan
2026-10-02 7:48 ` David Hildenbrand (Arm)
2026-10-02 7:48 ` David Hildenbrand (Arm)
2026-10-02 7:48 ` David Hildenbrand (Arm)
2026-10-02 16:11 ` Lorenzo Stoakes (ARM)
2026-10-02 16:11 ` Lorenzo Stoakes (ARM)
2026-10-02 16:11 ` Lorenzo Stoakes (ARM)
2026-09-17 21:23 ` [PATCH v3 00/40] mm: make VMA flag semantics explicit, eliminate VM_SPECIAL Andrew Morton
2026-09-17 21:23 ` Andrew Morton
2026-09-17 21:23 ` Andrew Morton
2026-09-23 8:57 ` Lorenzo Stoakes (ARM)
2026-09-23 8:57 ` Lorenzo Stoakes (ARM)
2026-09-23 8:57 ` Lorenzo Stoakes (ARM)
2026-09-25 15:58 ` Lorenzo Stoakes (ARM)
2026-09-25 22:06 ` Arnd Bergmann
2026-09-25 22:06 ` Arnd Bergmann
2026-09-25 22:06 ` Arnd Bergmann
2026-09-26 9:40 ` Lorenzo Stoakes (ARM)
2026-09-26 9:40 ` Lorenzo Stoakes (ARM)
2026-09-26 9:40 ` Lorenzo Stoakes (ARM)
2026-09-26 13:06 ` Arnd Bergmann
2026-09-26 13:06 ` Arnd Bergmann
2026-09-26 13:06 ` Arnd Bergmann
2026-09-26 13:22 ` Lorenzo Stoakes (ARM)
2026-09-26 13:22 ` Lorenzo Stoakes (ARM)
2026-09-26 13:22 ` Lorenzo Stoakes (ARM)
2026-09-26 17:14 ` Arnd Bergmann
2026-09-26 17:14 ` Arnd Bergmann
2026-09-26 17:14 ` Arnd Bergmann
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=arT3K71l86fUVldk@gremlin \
--to=ljs@kernel.org \
--cc=James.Bottomley@hansenpartnership.com \
--cc=acme@kernel.org \
--cc=agordeev@linux.ibm.com \
--cc=airlied@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=andreas@gaisler.com \
--cc=andrii@kernel.org \
--cc=aneesh.kumar@kernel.org \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=apopple@nvidia.com \
--cc=arnd@arndb.de \
--cc=ast@kernel.org \
--cc=axelrasmussen@google.com \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=baoquan.he@linux.dev \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=bpf@vger.kernel.org \
--cc=brauner@kernel.org \
--cc=byungchul@sk.com \
--cc=catalin.marinas@arm.com \
--cc=chengming.zhou@linux.dev \
--cc=chrisl@kernel.org \
--cc=corbet@lwn.net \
--cc=daniel@iogearbox.net \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=david@kernel.org \
--cc=deller@gmx.de \
--cc=dennis.dalessandro@cornelisnetworks.com \
--cc=dev.jain@arm.com \
--cc=dgilbert@interlog.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=eddyz87@gmail.com \
--cc=frankja@linux.ibm.com \
--cc=fuse-devel@lists.linux.dev \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=gourry@gourry.net \
--cc=gregkh@linuxfoundation.org \
--cc=hannes@cmpxchg.org \
--cc=harry@kernel.org \
--cc=hca@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=jack@suse.cz \
--cc=jannh@google.com \
--cc=jayalk@intworks.biz \
--cc=jgg@ziepe.ca \
--cc=jhubbard@nvidia.com \
--cc=joshua.hahnjy@gmail.com \
--cc=juri.lelli@redhat.com \
--cc=kas@kernel.org \
--cc=kasong@tencent.com \
--cc=kvm-riscv@lists.infradead.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=lance.yang@linux.dev \
--cc=leon@kernel.org \
--cc=liam@infradead.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=maddy@linux.ibm.com \
--cc=mark.rutland@arm.com \
--cc=matthew.brost@intel.com \
--cc=maz@kernel.org \
--cc=memxor@gmail.com \
--cc=mhiramat@kernel.org \
--cc=mhocko@kernel.org \
--cc=mhocko@suse.com \
--cc=miklos@szeredi.hu \
--cc=mingo@redhat.com \
--cc=mkp@kernel.org \
--cc=mripard@kernel.org \
--cc=muchun.song@linux.dev \
--cc=namhyung@kernel.org \
--cc=nico.pache@linux.dev \
--cc=nphamcs@gmail.com \
--cc=npiggin@gmail.com \
--cc=oleg@redhat.com \
--cc=osalvador@suse.de \
--cc=oupton@kernel.org \
--cc=palmer@dabbelt.com \
--cc=paul@paul-moore.com \
--cc=perex@perex.cz \
--cc=peterx@redhat.com \
--cc=peterz@infradead.org \
--cc=pfalcato@suse.de \
--cc=pjw@kernel.org \
--cc=qi.zheng@linux.dev \
--cc=rakie.kim@sk.com \
--cc=riel@surriel.com \
--cc=rppt@kernel.org \
--cc=ryan.roberts@arm.com \
--cc=selinux@vger.kernel.org \
--cc=shakeel.butt@linux.dev \
--cc=shikemeng@huaweicloud.com \
--cc=simona@ffwll.ch \
--cc=sparclinux@vger.kernel.org \
--cc=sre@kernel.org \
--cc=stephen.smalley.work@gmail.com \
--cc=surenb@google.com \
--cc=tglx@kernel.org \
--cc=tiwai@suse.com \
--cc=tzimmermann@suse.de \
--cc=usama.arif@linux.dev \
--cc=vbabka@kernel.org \
--cc=vincent.guittot@linaro.org \
--cc=viro@zeniv.linux.org.uk \
--cc=weixugc@google.com \
--cc=will@kernel.org \
--cc=willy@infradead.org \
--cc=x86@kernel.org \
--cc=xu.xin@linux.dev \
--cc=ying.huang@linux.alibaba.com \
--cc=youngjun.park@lge.com \
--cc=yuanchu@google.com \
--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.