RE: [PATCH v2 3/3] mm/slub: correct the default value of slub_min_objects in doc

From: Song, Xiongwei
Date: Fri Dec 08 2023 - 18:17:58 EST




> -----Original Message-----
> From: Vlastimil Babka <vbabka@xxxxxxx>
> Sent: Thursday, December 7, 2023 12:34 AM
> To: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx>; sxwjean@xxxxxx
> Cc: cl@xxxxxxxxx; linux-mm@xxxxxxxxx; penberg@xxxxxxxxxx; rientjes@xxxxxxxxxx;
> iamjoonsoo.kim@xxxxxxx; roman.gushchin@xxxxxxxxx; corbet@xxxxxxx;
> keescook@xxxxxxxxxxxx; arnd@xxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx;
> gregkh@xxxxxxxxxxxxxxxxxxx; linux-doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Song,
> Xiongwei <Xiongwei.Song@xxxxxxxxxxxxx>
> Subject: Re: [PATCH v2 3/3] mm/slub: correct the default value of slub_min_objects in doc
>
> On 12/5/23 01:53, Hyeonggon Yoo wrote:
> > On Sun, Dec 3, 2023 at 9:16 AM <sxwjean@xxxxxx> wrote:
> >>
> >> From: Xiongwei Song <xiongwei.song@xxxxxxxxxxxxx>
> >>
> >> There is no a value assigned to slub_min_objects by default, it always
> >> is 0 that is initialized by compiler if no assigned value by command line.
> >> min_objects is calculated based on processor numbers in calculate_order().
> >> For more details, see commit 9b2cd506e5f2 ("slub: Calculate min_objects
> >> based on number of processors.")
> >>
> >> Signed-off-by: Xiongwei Song <xiongwei.song@xxxxxxxxxxxxx>
> >
> > While slub_min_objects equals zero by default, 'min_objects' overrides it to
> > 4 * (fls(nr_cpus) + 1) when not set. so when slub_min_objects is not
> > set, it would be
> > equal to or higher than 4. I'm not sure this level of implementation
> > detail is worth documenting.
>
> We could say e.g. "(default: automaticaly scaled by number of cpus)"

Ah, looks better.

>
> > Also, I think patch 2 should update Documentation/mm/slub.rst too.
> > (slub_$param -> slab_param)
>
> I'd do it as separate patch, not part of patch 2.

Will do.

Thanks

>
> >> ---
> >> Documentation/mm/slub.rst | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/Documentation/mm/slub.rst b/Documentation/mm/slub.rst
> >> index be75971532f5..1f4399581449 100644
> >> --- a/Documentation/mm/slub.rst
> >> +++ b/Documentation/mm/slub.rst
> >> @@ -150,7 +150,7 @@ list_lock once in a while to deal with partial slabs. That overhead
> is
> >> governed by the order of the allocation for each slab. The allocations
> >> can be influenced by kernel parameters:
> >>
> >> -.. slub_min_objects=x (default 4)
> >> +.. slub_min_objects=x (default 0)
> >> .. slub_min_order=x (default 0)
> >> .. slub_max_order=x (default 3 (PAGE_ALLOC_COSTLY_ORDER))
> >>
> >> --
> >> 2.34.1
> >>