Re: [PATCH] docs: Add overview and SLUB allocator sections to slab documentation

From: Nick Huang

Date: Sat Apr 18 2026 - 02:12:39 EST


Nick Huang <sef1548@xxxxxxxxx> 於 2026年4月18日週六 下午1:27寫道:
>
> Matthew Wilcox <willy@xxxxxxxxxxxxx> 於 2026年4月18日週六 下午1:04寫道:
> >
> > On Sat, Apr 18, 2026 at 12:06:19AM +0000, Nick Huang wrote:
> > > - Add "Overview" section explaining the slab allocator's role and purpose
> > > - Document the three main slab allocator implementations (SLAB, SLUB, SLOB)
Hi Matthew Wilcox
I will remove this sentence in the next version:
“Document the three main slab allocator implementations (SLAB, SLUB, SLOB).”
I’m not entirely sure I fully understand your point. If I’ve missed
anything, please let me know what needs to be changed. Thank you.

> > Umm.
> >
> > commit 6630e950d532
> > Author: Vlastimil Babka <vbabka@xxxxxxxxxx>
> > Date: Tue Feb 28 15:38:07 2023 +0100
> >
> > mm/slob: remove slob.c
> >
> > commit 16a1d968358a
> > Author: Vlastimil Babka <vbabka@xxxxxxxxxx>
> > Date: Mon Oct 2 20:43:43 2023 +0200
> >
> > mm/slab: remove mm/slab.c and slab_def.h
> >
> > Care to revise?
> >
> Hi Matthew Wilcox
>
> Thanks for pointing this out. You are absolutely right—I overlooked
> the fact that SLAB and SLOB have been removed from the kernel.
> I will remove those sections and ensure the documentation focuses on
> SLUB for the v2 submission. Thanks for the correction.
>
> > > - Highlight SLUB as the default allocator on modern systems
> > > - Add "SLUB Allocator" subsection with detailed information:
> > > - Explain SLUB's design goals and advantages over legacy SLAB
> > > - Document its focus on simplification and performance
> > > - Note support for both uniprocessor and SMP systems
> > >
> > > Signed-off-by: Nick Huang <sef1548@xxxxxxxxx>
> > > ---
> > > Documentation/mm/slab.rst | 26 ++++++++++++++++++++++++++
> > > 1 file changed, 26 insertions(+)
> > >
> > > diff --git a/Documentation/mm/slab.rst b/Documentation/mm/slab.rst
> > > index 2bcc58ada302..2d1d093afb7b 100644
> > > --- a/Documentation/mm/slab.rst
> > > +++ b/Documentation/mm/slab.rst
> > > @@ -4,6 +4,32 @@
> > > Slab Allocation
> > > ===============
> > >
> > > +Overview
> > > +========
> > > +
> > > +The slab allocator is responsible for efficient allocation and reuse of
> > > +small kernel objects. It reduces internal fragmentation and improves
> > > +performance by caching frequently used objects.
> > > +
> > > +The Linux kernel provides multiple slab allocator implementations,
> > > +including SLAB, SLUB, and SLOB. Among these, SLUB is the default
> > > +allocator on most modern systems.
> > > +
> > > +SLUB Allocator
> > > +==============
> > > +
> > > +Overview
> > > +--------
> > > +
> > > +SLUB is a slab allocator designed to replace the legacy SLAB allocator
> > > +(mm/slab.c). It addresses the complexity, scalability limitations, and
> > > +memory overhead of the SLAB implementation.
> > > +
> > > +The primary goal of SLUB is to simplify slab allocation while improving
> > > +performance on both uniprocessor (UP) and symmetric multiprocessing (SMP)
> > > +systems.
> > > +
> > > +
> > > Functions and structures
> > > ========================
> > >
> > > --
> > > 2.43.0
> > >
> > >
>
> --
> Regards,
> Nick Huang

--
Regards,
Nick Huang