[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bfnbgxtvo4avlktnk6dmusns4iq4ksjvjmcuw6kqekpsrh324x@xulw3cq3uxih>
Date: Tue, 17 Jun 2025 10:51:50 -0700
From: Shakeel Butt <shakeel.butt@...ux.dev>
To: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
Cc: David Hildenbrand <david@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>, "Liam R . Howlett" <Liam.Howlett@...cle.com>,
Vlastimil Babka <vbabka@...e.cz>, Mike Rapoport <rppt@...nel.org>,
Suren Baghdasaryan <surenb@...gle.com>, Michal Hocko <mhocko@...e.com>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] MAINTAINERS: add further core files to mm core
section
On Tue, Jun 17, 2025 at 04:22:33PM +0100, Lorenzo Stoakes wrote:
> On Mon, Jun 16, 2025 at 03:56:02PM -0700, Shakeel Butt wrote:
> > On Mon, Jun 16, 2025 at 11:10:41PM +0200, David Hildenbrand wrote:
> > > On 16.06.25 22:38, Lorenzo Stoakes wrote:
> > > > There are a number of files which don't quite belong anywhere else, so
> > > > place them in the core section. If we determine in future they belong
> > > > elsewhere we can update incrementally but it is preferable that we assign
> > > > each file to a section as best we can.
> > > >
> > > > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
> > > > ---
> > > > REVIEWERS - let me know if these seem appropriate, I'm eyeballing
> > > > this. even if they are not quite best placed a 'best effort' is still
> > > > worthwhile so we establish a place to put all mm files, we can always
> > > > incrementally update these later.
> > > >
> > > > MAINTAINERS | 28 ++++++++++++++++++++++++----
> > > > 1 file changed, 24 insertions(+), 4 deletions(-)
> > > >
> > > > diff --git a/MAINTAINERS b/MAINTAINERS
> > > > index 4523a6409186..a61d56bd7aa4 100644
> > > > --- a/MAINTAINERS
> > > > +++ b/MAINTAINERS
> > > > @@ -15740,10 +15740,6 @@ F: include/linux/memory_hotplug.h
> > > > F: include/linux/memory-tiers.h
> > > > F: include/linux/mempolicy.h
> > > > F: include/linux/mempool.h
> > > > -F: include/linux/memremap.h
> > > > -F: include/linux/mmzone.h
> > > > -F: include/linux/mmu_notifier.h
> > > > -F: include/linux/pagewalk.h
> > > > F: include/trace/events/ksm.h
> > > > F: mm/
> > > > F: tools/mm/
> > >
> > > Probably better to have some section than none ... was just briefly
> > > wondering if "CORE" is the right section for some of that. Some of that
> > > might be better of in a "MM MISC" section, maybe.
> > >
> > > > @@ -15764,16 +15760,40 @@ S: Maintained
> > > > W: http://www.linux-mm.org
> > > > T: git git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
> > > > F: include/linux/memory.h
> > > > +F: include/linux/memremap.h
> > > > F: include/linux/mm.h
> > > > F: include/linux/mm_*.h
> > > > F: include/linux/mmdebug.h
> > > > +F: include/linux/mmu_notifier.h
> > > > +F: include/linux/mmzone.h
> > > > F: include/linux/pagewalk.h
> > > > F: kernel/fork.c
> > > > F: mm/Kconfig
> > > > F: mm/debug.c
> > > > +F: mm/debug_page_ref.c
> > > > +F: mm/debug_vm_pgtable.c
> > >
> > > Wondering if there should be a MM DEBUG section. But then, no idea who in
> > > their right mind would be willing to maintain that ;)
> > >
> > > > +F: mm/folio-compat.c
> > > > +F: mm/highmem.c
> > > > F: mm/init-mm.c
> > > > +F: mm/internal.h
> > > > +F: mm/interval_tree.c
> > > > +F: mm/io-mapping.c> +F: mm/ioremap.c
> > > > +F: mm/list_lru.c
> > >
> > > Smells like reclaim/memcg.
> >
> > Shrinker might be more appropriate (along with the list_lru.h)
>
> Yeah I struggled with this one. It's a weird one, it's like a generic LRU
> algorithm:
>
> zswap_lru_add()
> binder_lru_freelist_add()
> -> list_lru_add()
>
> Also called internally by list_lru_add_obj() which is used for dentry LRUs by a
> number of filesystems
>
> But also by the working set code in workingset_update_node() :)
>
> So it's a bit all over the place.
>
> I wonder whether best for mm misc as a result?
list_lru is the data structure / abstraction to interact with the
shrinker. Kernel components which can consume large amount of kernel
memory and has a way to drop some on memory pressure (e.g. some form of
cache) register themselves with the shrinker and list_lru is used to
store/link their internal objects which the shrinker can drop/reclaim
during memory reclaim.
Powered by blists - more mailing lists