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

From: Hyeonggon Yoo
Date: Mon Dec 04 2023 - 19:53:51 EST


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.

Also, I think patch 2 should update Documentation/mm/slub.rst too.
(slub_$param -> slab_param)

> ---
> 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
>