ceph: remove SLAB_MEM_SPREAD flag usage

Message ID 20240224134715.829225-1-chengming.zhou@linux.dev
State New
Headers
Series ceph: remove SLAB_MEM_SPREAD flag usage |

Commit Message

Chengming Zhou Feb. 24, 2024, 1:47 p.m. UTC
  From: Chengming Zhou <zhouchengming@bytedance.com>

The SLAB_MEM_SPREAD flag is already a no-op as of 6.8-rc1, remove
its usage so we can delete it from slab. No functional change.

Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
---
 fs/ceph/super.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
  

Comments

Xiubo Li Feb. 26, 2024, 1:43 a.m. UTC | #1
Hi Chengming,

Thanks for your patch.

BTW, could you share the link of the relevant patches to mark this a no-op ?

Thanks

- Xiubo

On 2/24/24 21:47, chengming.zhou@linux.dev wrote:
> From: Chengming Zhou <zhouchengming@bytedance.com>
>
> The SLAB_MEM_SPREAD flag is already a no-op as of 6.8-rc1, remove
> its usage so we can delete it from slab. No functional change.
>
> Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
> ---
>   fs/ceph/super.c | 18 +++++++++---------
>   1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/fs/ceph/super.c b/fs/ceph/super.c
> index 5ec102f6b1ac..4dcbbaa297f6 100644
> --- a/fs/ceph/super.c
> +++ b/fs/ceph/super.c
> @@ -928,36 +928,36 @@ static int __init init_caches(void)
>   	ceph_inode_cachep = kmem_cache_create("ceph_inode_info",
>   				      sizeof(struct ceph_inode_info),
>   				      __alignof__(struct ceph_inode_info),
> -				      SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD|
> -				      SLAB_ACCOUNT, ceph_inode_init_once);
> +				      SLAB_RECLAIM_ACCOUNT|SLAB_ACCOUNT,
> +				      ceph_inode_init_once);
>   	if (!ceph_inode_cachep)
>   		return -ENOMEM;
>   
> -	ceph_cap_cachep = KMEM_CACHE(ceph_cap, SLAB_MEM_SPREAD);
> +	ceph_cap_cachep = KMEM_CACHE(ceph_cap, 0);
>   	if (!ceph_cap_cachep)
>   		goto bad_cap;
> -	ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, SLAB_MEM_SPREAD);
> +	ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, 0);
>   	if (!ceph_cap_snap_cachep)
>   		goto bad_cap_snap;
>   	ceph_cap_flush_cachep = KMEM_CACHE(ceph_cap_flush,
> -					   SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
> +					   SLAB_RECLAIM_ACCOUNT);
>   	if (!ceph_cap_flush_cachep)
>   		goto bad_cap_flush;
>   
>   	ceph_dentry_cachep = KMEM_CACHE(ceph_dentry_info,
> -					SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
> +					SLAB_RECLAIM_ACCOUNT);
>   	if (!ceph_dentry_cachep)
>   		goto bad_dentry;
>   
> -	ceph_file_cachep = KMEM_CACHE(ceph_file_info, SLAB_MEM_SPREAD);
> +	ceph_file_cachep = KMEM_CACHE(ceph_file_info, 0);
>   	if (!ceph_file_cachep)
>   		goto bad_file;
>   
> -	ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, SLAB_MEM_SPREAD);
> +	ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, 0);
>   	if (!ceph_dir_file_cachep)
>   		goto bad_dir_file;
>   
> -	ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, SLAB_MEM_SPREAD);
> +	ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, 0);
>   	if (!ceph_mds_request_cachep)
>   		goto bad_mds_req;
>
  
Chengming Zhou Feb. 26, 2024, 2:42 a.m. UTC | #2
On 2024/2/26 09:43, Xiubo Li wrote:
> Hi Chengming,
> 
> Thanks for your patch.
> 
> BTW, could you share the link of the relevant patches to mark this a no-op ?
Update changelog to make it clearer:

The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
removed as of v6.8-rc1, so it became a dead flag. And the series[1]
went on to mark it obsolete to avoid confusion for users. Here we
can just remove all its users, which has no functional change.

[1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/

Thanks!

> 
> Thanks
> 
> - Xiubo
> 
> On 2/24/24 21:47, chengming.zhou@linux.dev wrote:
>> From: Chengming Zhou <zhouchengming@bytedance.com>
>>
>> The SLAB_MEM_SPREAD flag is already a no-op as of 6.8-rc1, remove
>> its usage so we can delete it from slab. No functional change.
>>
>> Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
>> ---
>>   fs/ceph/super.c | 18 +++++++++---------
>>   1 file changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/fs/ceph/super.c b/fs/ceph/super.c
>> index 5ec102f6b1ac..4dcbbaa297f6 100644
>> --- a/fs/ceph/super.c
>> +++ b/fs/ceph/super.c
>> @@ -928,36 +928,36 @@ static int __init init_caches(void)
>>       ceph_inode_cachep = kmem_cache_create("ceph_inode_info",
>>                         sizeof(struct ceph_inode_info),
>>                         __alignof__(struct ceph_inode_info),
>> -                      SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD|
>> -                      SLAB_ACCOUNT, ceph_inode_init_once);
>> +                      SLAB_RECLAIM_ACCOUNT|SLAB_ACCOUNT,
>> +                      ceph_inode_init_once);
>>       if (!ceph_inode_cachep)
>>           return -ENOMEM;
>>   -    ceph_cap_cachep = KMEM_CACHE(ceph_cap, SLAB_MEM_SPREAD);
>> +    ceph_cap_cachep = KMEM_CACHE(ceph_cap, 0);
>>       if (!ceph_cap_cachep)
>>           goto bad_cap;
>> -    ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, SLAB_MEM_SPREAD);
>> +    ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, 0);
>>       if (!ceph_cap_snap_cachep)
>>           goto bad_cap_snap;
>>       ceph_cap_flush_cachep = KMEM_CACHE(ceph_cap_flush,
>> -                       SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
>> +                       SLAB_RECLAIM_ACCOUNT);
>>       if (!ceph_cap_flush_cachep)
>>           goto bad_cap_flush;
>>         ceph_dentry_cachep = KMEM_CACHE(ceph_dentry_info,
>> -                    SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
>> +                    SLAB_RECLAIM_ACCOUNT);
>>       if (!ceph_dentry_cachep)
>>           goto bad_dentry;
>>   -    ceph_file_cachep = KMEM_CACHE(ceph_file_info, SLAB_MEM_SPREAD);
>> +    ceph_file_cachep = KMEM_CACHE(ceph_file_info, 0);
>>       if (!ceph_file_cachep)
>>           goto bad_file;
>>   -    ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, SLAB_MEM_SPREAD);
>> +    ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, 0);
>>       if (!ceph_dir_file_cachep)
>>           goto bad_dir_file;
>>   -    ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, SLAB_MEM_SPREAD);
>> +    ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, 0);
>>       if (!ceph_mds_request_cachep)
>>           goto bad_mds_req;
>>   
>
  
Xiubo Li Feb. 26, 2024, 4:23 a.m. UTC | #3
On 2/26/24 10:42, Chengming Zhou wrote:
> On 2024/2/26 09:43, Xiubo Li wrote:
>> Hi Chengming,
>>
>> Thanks for your patch.
>>
>> BTW, could you share the link of the relevant patches to mark this a no-op ?
> Update changelog to make it clearer:
>
> The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
> removed as of v6.8-rc1, so it became a dead flag. And the series[1]
> went on to mark it obsolete to avoid confusion for users. Here we
> can just remove all its users, which has no functional change.
>
> [1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/

Thanks for your quick feedback.

BTW, I couldn't find this change in Linus' tree in the master and even 
the v6.8-rc1 tag, please see 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/include/linux/slab.h?h=master.

Did I miss something ? Or has this patch been merged ?

- Xiubo

> Thanks!
>
>> Thanks
>>
>> - Xiubo
>>
>> On 2/24/24 21:47, chengming.zhou@linux.dev wrote:
>>> From: Chengming Zhou <zhouchengming@bytedance.com>
>>>
>>> The SLAB_MEM_SPREAD flag is already a no-op as of 6.8-rc1, remove
>>> its usage so we can delete it from slab. No functional change.
>>>
>>> Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
>>> ---
>>>    fs/ceph/super.c | 18 +++++++++---------
>>>    1 file changed, 9 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/fs/ceph/super.c b/fs/ceph/super.c
>>> index 5ec102f6b1ac..4dcbbaa297f6 100644
>>> --- a/fs/ceph/super.c
>>> +++ b/fs/ceph/super.c
>>> @@ -928,36 +928,36 @@ static int __init init_caches(void)
>>>        ceph_inode_cachep = kmem_cache_create("ceph_inode_info",
>>>                          sizeof(struct ceph_inode_info),
>>>                          __alignof__(struct ceph_inode_info),
>>> -                      SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD|
>>> -                      SLAB_ACCOUNT, ceph_inode_init_once);
>>> +                      SLAB_RECLAIM_ACCOUNT|SLAB_ACCOUNT,
>>> +                      ceph_inode_init_once);
>>>        if (!ceph_inode_cachep)
>>>            return -ENOMEM;
>>>    -    ceph_cap_cachep = KMEM_CACHE(ceph_cap, SLAB_MEM_SPREAD);
>>> +    ceph_cap_cachep = KMEM_CACHE(ceph_cap, 0);
>>>        if (!ceph_cap_cachep)
>>>            goto bad_cap;
>>> -    ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, SLAB_MEM_SPREAD);
>>> +    ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, 0);
>>>        if (!ceph_cap_snap_cachep)
>>>            goto bad_cap_snap;
>>>        ceph_cap_flush_cachep = KMEM_CACHE(ceph_cap_flush,
>>> -                       SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
>>> +                       SLAB_RECLAIM_ACCOUNT);
>>>        if (!ceph_cap_flush_cachep)
>>>            goto bad_cap_flush;
>>>          ceph_dentry_cachep = KMEM_CACHE(ceph_dentry_info,
>>> -                    SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
>>> +                    SLAB_RECLAIM_ACCOUNT);
>>>        if (!ceph_dentry_cachep)
>>>            goto bad_dentry;
>>>    -    ceph_file_cachep = KMEM_CACHE(ceph_file_info, SLAB_MEM_SPREAD);
>>> +    ceph_file_cachep = KMEM_CACHE(ceph_file_info, 0);
>>>        if (!ceph_file_cachep)
>>>            goto bad_file;
>>>    -    ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, SLAB_MEM_SPREAD);
>>> +    ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, 0);
>>>        if (!ceph_dir_file_cachep)
>>>            goto bad_dir_file;
>>>    -    ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, SLAB_MEM_SPREAD);
>>> +    ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, 0);
>>>        if (!ceph_mds_request_cachep)
>>>            goto bad_mds_req;
>>>
  
Chengming Zhou Feb. 26, 2024, 4:30 a.m. UTC | #4
On 2024/2/26 12:23, Xiubo Li wrote:
> 
> On 2/26/24 10:42, Chengming Zhou wrote:
>> On 2024/2/26 09:43, Xiubo Li wrote:
>>> Hi Chengming,
>>>
>>> Thanks for your patch.
>>>
>>> BTW, could you share the link of the relevant patches to mark this a no-op ?
>> Update changelog to make it clearer:
>>
>> The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
>> removed as of v6.8-rc1, so it became a dead flag. And the series[1]
>> went on to mark it obsolete to avoid confusion for users. Here we
>> can just remove all its users, which has no functional change.
>>
>> [1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/
> 
> Thanks for your quick feedback.
> 
> BTW, I couldn't find this change in Linus' tree in the master and even the v6.8-rc1 tag, please see https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/include/linux/slab.h?h=master.
> 
> Did I miss something ? Or has this patch been merged ?

You're right, this patch hasn't been merged. But it's already a dead flag as of v6.8-rc1.

Update changelog to make it clearer:

The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
removed as of v6.8-rc1, so it became a dead flag since the commit
16a1d968358a ("mm/slab: remove mm/slab.c and slab_def.h"). And the
series[1] went on to mark it obsolete to avoid confusion for users.
Here we can just remove all its users, which has no functional change.

[1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/

Does this look clearer to you? I can improve it if there is still confusion.

Thanks!

> 
> - Xiubo
> 
>> Thanks!
>>
>>> Thanks
>>>
>>> - Xiubo
>>>
>>> On 2/24/24 21:47, chengming.zhou@linux.dev wrote:
>>>> From: Chengming Zhou <zhouchengming@bytedance.com>
>>>>
>>>> The SLAB_MEM_SPREAD flag is already a no-op as of 6.8-rc1, remove
>>>> its usage so we can delete it from slab. No functional change.
>>>>
>>>> Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
>>>> ---
>>>>    fs/ceph/super.c | 18 +++++++++---------
>>>>    1 file changed, 9 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/fs/ceph/super.c b/fs/ceph/super.c
>>>> index 5ec102f6b1ac..4dcbbaa297f6 100644
>>>> --- a/fs/ceph/super.c
>>>> +++ b/fs/ceph/super.c
>>>> @@ -928,36 +928,36 @@ static int __init init_caches(void)
>>>>        ceph_inode_cachep = kmem_cache_create("ceph_inode_info",
>>>>                          sizeof(struct ceph_inode_info),
>>>>                          __alignof__(struct ceph_inode_info),
>>>> -                      SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD|
>>>> -                      SLAB_ACCOUNT, ceph_inode_init_once);
>>>> +                      SLAB_RECLAIM_ACCOUNT|SLAB_ACCOUNT,
>>>> +                      ceph_inode_init_once);
>>>>        if (!ceph_inode_cachep)
>>>>            return -ENOMEM;
>>>>    -    ceph_cap_cachep = KMEM_CACHE(ceph_cap, SLAB_MEM_SPREAD);
>>>> +    ceph_cap_cachep = KMEM_CACHE(ceph_cap, 0);
>>>>        if (!ceph_cap_cachep)
>>>>            goto bad_cap;
>>>> -    ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, SLAB_MEM_SPREAD);
>>>> +    ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, 0);
>>>>        if (!ceph_cap_snap_cachep)
>>>>            goto bad_cap_snap;
>>>>        ceph_cap_flush_cachep = KMEM_CACHE(ceph_cap_flush,
>>>> -                       SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
>>>> +                       SLAB_RECLAIM_ACCOUNT);
>>>>        if (!ceph_cap_flush_cachep)
>>>>            goto bad_cap_flush;
>>>>          ceph_dentry_cachep = KMEM_CACHE(ceph_dentry_info,
>>>> -                    SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
>>>> +                    SLAB_RECLAIM_ACCOUNT);
>>>>        if (!ceph_dentry_cachep)
>>>>            goto bad_dentry;
>>>>    -    ceph_file_cachep = KMEM_CACHE(ceph_file_info, SLAB_MEM_SPREAD);
>>>> +    ceph_file_cachep = KMEM_CACHE(ceph_file_info, 0);
>>>>        if (!ceph_file_cachep)
>>>>            goto bad_file;
>>>>    -    ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, SLAB_MEM_SPREAD);
>>>> +    ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, 0);
>>>>        if (!ceph_dir_file_cachep)
>>>>            goto bad_dir_file;
>>>>    -    ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, SLAB_MEM_SPREAD);
>>>> +    ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, 0);
>>>>        if (!ceph_mds_request_cachep)
>>>>            goto bad_mds_req;
>>>>    
>
  
Xiubo Li Feb. 26, 2024, 4:54 a.m. UTC | #5
On 2/26/24 12:30, Chengming Zhou wrote:
> On 2024/2/26 12:23, Xiubo Li wrote:
>> On 2/26/24 10:42, Chengming Zhou wrote:
>>> On 2024/2/26 09:43, Xiubo Li wrote:
>>>> Hi Chengming,
>>>>
>>>> Thanks for your patch.
>>>>
>>>> BTW, could you share the link of the relevant patches to mark this a no-op ?
>>> Update changelog to make it clearer:
>>>
>>> The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
>>> removed as of v6.8-rc1, so it became a dead flag. And the series[1]
>>> went on to mark it obsolete to avoid confusion for users. Here we
>>> can just remove all its users, which has no functional change.
>>>
>>> [1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/
>> Thanks for your quick feedback.
>>
>> BTW, I couldn't find this change in Linus' tree in the master and even the v6.8-rc1 tag, please see https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/include/linux/slab.h?h=master.
>>
>> Did I miss something ? Or has this patch been merged ?
> You're right, this patch hasn't been merged. But it's already a dead flag as of v6.8-rc1.
>
> Update changelog to make it clearer:
>
> The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
> removed as of v6.8-rc1, so it became a dead flag since the commit
> 16a1d968358a ("mm/slab: remove mm/slab.c and slab_def.h"). And the
> series[1] went on to mark it obsolete to avoid confusion for users.
> Here we can just remove all its users, which has no functional change.
>
> [1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/
>
> Does this look clearer to you? I can improve it if there is still confusion.

Yeah, much clearer, thanks!

Maybe we should just wait for the [1] to get merged first ?

Ilya, what do you think ?

Thanks

- Xiubo


> Thanks!
>
>> - Xiubo
>>
>>> Thanks!
>>>
>>>> Thanks
>>>>
>>>> - Xiubo
>>>>
>>>> On 2/24/24 21:47, chengming.zhou@linux.dev wrote:
>>>>> From: Chengming Zhou <zhouchengming@bytedance.com>
>>>>>
>>>>> The SLAB_MEM_SPREAD flag is already a no-op as of 6.8-rc1, remove
>>>>> its usage so we can delete it from slab. No functional change.
>>>>>
>>>>> Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
>>>>> ---
>>>>>     fs/ceph/super.c | 18 +++++++++---------
>>>>>     1 file changed, 9 insertions(+), 9 deletions(-)
>>>>>
>>>>> diff --git a/fs/ceph/super.c b/fs/ceph/super.c
>>>>> index 5ec102f6b1ac..4dcbbaa297f6 100644
>>>>> --- a/fs/ceph/super.c
>>>>> +++ b/fs/ceph/super.c
>>>>> @@ -928,36 +928,36 @@ static int __init init_caches(void)
>>>>>         ceph_inode_cachep = kmem_cache_create("ceph_inode_info",
>>>>>                           sizeof(struct ceph_inode_info),
>>>>>                           __alignof__(struct ceph_inode_info),
>>>>> -                      SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD|
>>>>> -                      SLAB_ACCOUNT, ceph_inode_init_once);
>>>>> +                      SLAB_RECLAIM_ACCOUNT|SLAB_ACCOUNT,
>>>>> +                      ceph_inode_init_once);
>>>>>         if (!ceph_inode_cachep)
>>>>>             return -ENOMEM;
>>>>>     -    ceph_cap_cachep = KMEM_CACHE(ceph_cap, SLAB_MEM_SPREAD);
>>>>> +    ceph_cap_cachep = KMEM_CACHE(ceph_cap, 0);
>>>>>         if (!ceph_cap_cachep)
>>>>>             goto bad_cap;
>>>>> -    ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, SLAB_MEM_SPREAD);
>>>>> +    ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, 0);
>>>>>         if (!ceph_cap_snap_cachep)
>>>>>             goto bad_cap_snap;
>>>>>         ceph_cap_flush_cachep = KMEM_CACHE(ceph_cap_flush,
>>>>> -                       SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
>>>>> +                       SLAB_RECLAIM_ACCOUNT);
>>>>>         if (!ceph_cap_flush_cachep)
>>>>>             goto bad_cap_flush;
>>>>>           ceph_dentry_cachep = KMEM_CACHE(ceph_dentry_info,
>>>>> -                    SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
>>>>> +                    SLAB_RECLAIM_ACCOUNT);
>>>>>         if (!ceph_dentry_cachep)
>>>>>             goto bad_dentry;
>>>>>     -    ceph_file_cachep = KMEM_CACHE(ceph_file_info, SLAB_MEM_SPREAD);
>>>>> +    ceph_file_cachep = KMEM_CACHE(ceph_file_info, 0);
>>>>>         if (!ceph_file_cachep)
>>>>>             goto bad_file;
>>>>>     -    ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, SLAB_MEM_SPREAD);
>>>>> +    ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, 0);
>>>>>         if (!ceph_dir_file_cachep)
>>>>>             goto bad_dir_file;
>>>>>     -    ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, SLAB_MEM_SPREAD);
>>>>> +    ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, 0);
>>>>>         if (!ceph_mds_request_cachep)
>>>>>             goto bad_mds_req;
>>>>>
  
Vlastimil Babka Feb. 26, 2024, 8:32 a.m. UTC | #6
On 2/26/24 05:54, Xiubo Li wrote:
> 
> On 2/26/24 12:30, Chengming Zhou wrote:
>> On 2024/2/26 12:23, Xiubo Li wrote:
>>> On 2/26/24 10:42, Chengming Zhou wrote:
>>>> On 2024/2/26 09:43, Xiubo Li wrote:
>>>>> Hi Chengming,
>>>>>
>>>>> Thanks for your patch.
>>>>>
>>>>> BTW, could you share the link of the relevant patches to mark this a no-op ?
>>>> Update changelog to make it clearer:
>>>>
>>>> The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
>>>> removed as of v6.8-rc1, so it became a dead flag. And the series[1]
>>>> went on to mark it obsolete to avoid confusion for users. Here we
>>>> can just remove all its users, which has no functional change.
>>>>
>>>> [1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/
>>> Thanks for your quick feedback.
>>>
>>> BTW, I couldn't find this change in Linus' tree in the master and even the v6.8-rc1 tag, please see https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/include/linux/slab.h?h=master.
>>>
>>> Did I miss something ? Or has this patch been merged ?
>> You're right, this patch hasn't been merged. But it's already a dead flag as of v6.8-rc1.
>>
>> Update changelog to make it clearer:
>>
>> The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
>> removed as of v6.8-rc1, so it became a dead flag since the commit
>> 16a1d968358a ("mm/slab: remove mm/slab.c and slab_def.h"). And the
>> series[1] went on to mark it obsolete to avoid confusion for users.
>> Here we can just remove all its users, which has no functional change.
>>
>> [1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/
>>
>> Does this look clearer to you? I can improve it if there is still confusion.
> 
> Yeah, much clearer, thanks!
> 
> Maybe we should just wait for the [1] to get merged first ?

It's really not necessary to wait, [1] just makes it explicit but the flag
is really effectively dead since v6.8-rc1 because nothing acts on it.
  
Xiubo Li Feb. 26, 2024, 9:45 a.m. UTC | #7
On 2/26/24 16:32, Vlastimil Babka wrote:
> On 2/26/24 05:54, Xiubo Li wrote:
>> On 2/26/24 12:30, Chengming Zhou wrote:
>>> On 2024/2/26 12:23, Xiubo Li wrote:
>>>> On 2/26/24 10:42, Chengming Zhou wrote:
>>>>> On 2024/2/26 09:43, Xiubo Li wrote:
>>>>>> Hi Chengming,
>>>>>>
>>>>>> Thanks for your patch.
>>>>>>
>>>>>> BTW, could you share the link of the relevant patches to mark this a no-op ?
>>>>> Update changelog to make it clearer:
>>>>>
>>>>> The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
>>>>> removed as of v6.8-rc1, so it became a dead flag. And the series[1]
>>>>> went on to mark it obsolete to avoid confusion for users. Here we
>>>>> can just remove all its users, which has no functional change.
>>>>>
>>>>> [1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/
>>>> Thanks for your quick feedback.
>>>>
>>>> BTW, I couldn't find this change in Linus' tree in the master and even the v6.8-rc1 tag, please see https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/include/linux/slab.h?h=master.
>>>>
>>>> Did I miss something ? Or has this patch been merged ?
>>> You're right, this patch hasn't been merged. But it's already a dead flag as of v6.8-rc1.
>>>
>>> Update changelog to make it clearer:
>>>
>>> The SLAB_MEM_SPREAD flag used to be implemented in SLAB, which was
>>> removed as of v6.8-rc1, so it became a dead flag since the commit
>>> 16a1d968358a ("mm/slab: remove mm/slab.c and slab_def.h"). And the
>>> series[1] went on to mark it obsolete to avoid confusion for users.
>>> Here we can just remove all its users, which has no functional change.
>>>
>>> [1] https://lore.kernel.org/all/20240223-slab-cleanup-flags-v2-1-02f1753e8303@suse.cz/
>>>
>>> Does this look clearer to you? I can improve it if there is still confusion.
>> Yeah, much clearer, thanks!
>>
>> Maybe we should just wait for the [1] to get merged first ?
> It's really not necessary to wait, [1] just makes it explicit but the flag
> is really effectively dead since v6.8-rc1 because nothing acts on it.

Okay, will apply this to ceph-client tree and run the tests.

Thanks

- Xiubo
  

Patch

diff --git a/fs/ceph/super.c b/fs/ceph/super.c
index 5ec102f6b1ac..4dcbbaa297f6 100644
--- a/fs/ceph/super.c
+++ b/fs/ceph/super.c
@@ -928,36 +928,36 @@  static int __init init_caches(void)
 	ceph_inode_cachep = kmem_cache_create("ceph_inode_info",
 				      sizeof(struct ceph_inode_info),
 				      __alignof__(struct ceph_inode_info),
-				      SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD|
-				      SLAB_ACCOUNT, ceph_inode_init_once);
+				      SLAB_RECLAIM_ACCOUNT|SLAB_ACCOUNT,
+				      ceph_inode_init_once);
 	if (!ceph_inode_cachep)
 		return -ENOMEM;
 
-	ceph_cap_cachep = KMEM_CACHE(ceph_cap, SLAB_MEM_SPREAD);
+	ceph_cap_cachep = KMEM_CACHE(ceph_cap, 0);
 	if (!ceph_cap_cachep)
 		goto bad_cap;
-	ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, SLAB_MEM_SPREAD);
+	ceph_cap_snap_cachep = KMEM_CACHE(ceph_cap_snap, 0);
 	if (!ceph_cap_snap_cachep)
 		goto bad_cap_snap;
 	ceph_cap_flush_cachep = KMEM_CACHE(ceph_cap_flush,
-					   SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
+					   SLAB_RECLAIM_ACCOUNT);
 	if (!ceph_cap_flush_cachep)
 		goto bad_cap_flush;
 
 	ceph_dentry_cachep = KMEM_CACHE(ceph_dentry_info,
-					SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD);
+					SLAB_RECLAIM_ACCOUNT);
 	if (!ceph_dentry_cachep)
 		goto bad_dentry;
 
-	ceph_file_cachep = KMEM_CACHE(ceph_file_info, SLAB_MEM_SPREAD);
+	ceph_file_cachep = KMEM_CACHE(ceph_file_info, 0);
 	if (!ceph_file_cachep)
 		goto bad_file;
 
-	ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, SLAB_MEM_SPREAD);
+	ceph_dir_file_cachep = KMEM_CACHE(ceph_dir_file_info, 0);
 	if (!ceph_dir_file_cachep)
 		goto bad_dir_file;
 
-	ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, SLAB_MEM_SPREAD);
+	ceph_mds_request_cachep = KMEM_CACHE(ceph_mds_request, 0);
 	if (!ceph_mds_request_cachep)
 		goto bad_mds_req;