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 >