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

From: Vlastimil Babka
Date: Wed Dec 06 2023 - 11:33:45 EST


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

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

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