RE: [PATCH 2/4] mm/slab: remove slab_nomrege and slab_merge

From: Song, Xiongwei
Date: Wed Nov 22 2023 - 00:28:35 EST


Hi Hyeonggon,

> -----Original Message-----
> From: owner-linux-mm@xxxxxxxxx <owner-linux-mm@xxxxxxxxx> On Behalf Of Hyeonggon
> Yoo
> Sent: Tuesday, November 21, 2023 4:44 PM
> To: sxwjean@xxxxxx
> Cc: cl@xxxxxxxxx; penberg@xxxxxxxxxx; rientjes@xxxxxxxxxx; iamjoonsoo.kim@xxxxxxx;
> vbabka@xxxxxxx; roman.gushchin@xxxxxxxxx; corbet@xxxxxxx; linux-mm@xxxxxxxxx; linux-
> doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 2/4] mm/slab: remove slab_nomrege and slab_merge
>
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the
> content is safe.
>
> On Mon, Nov 20, 2023 at 6:12 PM <sxwjean@xxxxxx> wrote:
> >
> > From: Xiongwei Song <xiongwei.song@xxxxxxxxxxxxx>
> >
> > Since slab allocatoer has already been removed, so we should also remove
> > the related parameters. And change the global flag from slab_nomerge
> > to slub_nomerge.
>
> No, kernel parameters should be changed only in a backward-compatible
> way (if possible)
>
> Before slab merging was supported in SLAB, only SLUB supported it.
> After commit 423c929cbbec ("mm/slab_common: commonize slab merge logic"), using
> slab_[no]merge parameters for CONFIG_SLUB builds became legal.
>
> I think what the documentation says is "slab_[no]merge enables or
> disables slab merging
> and slub_[no]merge remain supported only for backward compatibility"

Yes. But slab allocator will not exist anymore. Is slab_[no]merge still proper?
Will the term "slab/SLAB" still be used in the future?

Regards,
Xiongwei
>
> >
> > Signed-off-by: Xiongwei Song <xiongwei.song@xxxxxxxxxxxxx>
> > ---
> > Documentation/admin-guide/kernel-parameters.txt | 11 ++---------
> > mm/Kconfig | 2 +-
> > mm/slab_common.c | 13 +++++--------
> > 3 files changed, 8 insertions(+), 18 deletions(-)
> >
> > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-
> guide/kernel-parameters.txt
> > index c7709a11f8ce..afca9ff7c9f0 100644
> > --- a/Documentation/admin-guide/kernel-parameters.txt
> > +++ b/Documentation/admin-guide/kernel-parameters.txt
> > @@ -5870,11 +5870,11 @@
> >
> > slram= [HW,MTD]
> >
> > - slab_merge [MM]
> > + slub_merge [MM]
> > Enable merging of slabs with similar size when the
> > kernel is built without CONFIG_SLAB_MERGE_DEFAULT.
> >
> > - slab_nomerge [MM]
> > + slub_nomerge [MM]
> > Disable merging of slabs with similar size. May be
> > necessary if there is some reason to distinguish
> > allocs to different slabs, especially in hardened
> > @@ -5915,13 +5915,6 @@
> > lower than slub_max_order.
> > For more information see Documentation/mm/slub.rst.
> >
> > - slub_merge [MM, SLUB]
> > - Same with slab_merge.
> > -
> > - slub_nomerge [MM, SLUB]
> > - Same with slab_nomerge. This is supported for legacy.
> > - See slab_nomerge for more information.
> > -
> > smart2= [HW]
> > Format: <io1>[,<io2>[,...,<io8>]]