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

Nick Huang
2026-04-18T05:28:03Z

Matthew Wilcox <willy@infradead.org> 於 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)
>
> Umm.
>
> commit 6630e950d532
> Author: Vlastimil Babka <vbabka@kernel.org>
> Date: Tue Feb 28 15:38:07 2023 +0100
>
> mm/slob: remove slob.c
>
> commit 16a1d968358a
> Author: Vlastimil Babka <vbabka@kernel.org>
> 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@gmail.com>
> > ---
> > 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