zonefs: Simplify the allocation of slab caches in zonefs_init_inodecache

Message ID 20240205081022.433945-1-chentao@kylinos.cn
State New
Headers
Series zonefs: Simplify the allocation of slab caches in zonefs_init_inodecache |

Commit Message

Kunwu Chan Feb. 5, 2024, 8:10 a.m. UTC
  Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.

Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
---
 fs/zonefs/super.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
  

Comments

Damien Le Moal Feb. 9, 2024, 4:06 a.m. UTC | #1
On 2/5/24 17:10, Kunwu Chan wrote:
> Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
> to simplify the creation of SLAB caches.
> 
> Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
> ---
>  fs/zonefs/super.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
> index 93971742613a..9b578e7007e9 100644
> --- a/fs/zonefs/super.c
> +++ b/fs/zonefs/super.c
> @@ -1387,10 +1387,8 @@ static struct file_system_type zonefs_type = {
>  
>  static int __init zonefs_init_inodecache(void)
>  {
> -	zonefs_inode_cachep = kmem_cache_create("zonefs_inode_cache",
> -			sizeof(struct zonefs_inode_info), 0,
> -			(SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD | SLAB_ACCOUNT),
> -			NULL);
> +	zonefs_inode_cachep = KMEM_CACHE(zonefs_inode_info,
> +			SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD | SLAB_ACCOUNT);
>  	if (zonefs_inode_cachep == NULL)
>  		return -ENOMEM;
>  	return 0;

I do not really see a meaningful simplification here. Using kmem_cache_create()
directly is not *that* complicated... Also, this changes the name of the cache
from "zonefs_inode_cache" to "zonefs_inode_info".
  
Kunwu Chan Feb. 19, 2024, 8:52 a.m. UTC | #2
Thanks for the reply.

On 2024/2/9 12:06, Damien Le Moal wrote:
> On 2/5/24 17:10, Kunwu Chan wrote:
>> Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
>> to simplify the creation of SLAB caches.
>>
>> Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
>> ---
>>   fs/zonefs/super.c | 6 ++----
>>   1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
>> index 93971742613a..9b578e7007e9 100644
>> --- a/fs/zonefs/super.c
>> +++ b/fs/zonefs/super.c
>> @@ -1387,10 +1387,8 @@ static struct file_system_type zonefs_type = {
>>   
>>   static int __init zonefs_init_inodecache(void)
>>   {
>> -	zonefs_inode_cachep = kmem_cache_create("zonefs_inode_cache",
>> -			sizeof(struct zonefs_inode_info), 0,
>> -			(SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD | SLAB_ACCOUNT),
>> -			NULL);
>> +	zonefs_inode_cachep = KMEM_CACHE(zonefs_inode_info,
>> +			SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD | SLAB_ACCOUNT);
>>   	if (zonefs_inode_cachep == NULL)
>>   		return -ENOMEM;
>>   	return 0;
> 
> I do not really see a meaningful simplification here. Using kmem_cache_create()
The main reason is 'it hides all the 0 or NULL parameters'.
> directly is not *that* complicated... Also, this changes the name of the cache
> from "zonefs_inode_cache" to "zonefs_inode_info".
Cache name is used in /proc/slabinfo to identify this cache.
>

Thank again for taking the time to review and reply.
  

Patch

diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
index 93971742613a..9b578e7007e9 100644
--- a/fs/zonefs/super.c
+++ b/fs/zonefs/super.c
@@ -1387,10 +1387,8 @@  static struct file_system_type zonefs_type = {
 
 static int __init zonefs_init_inodecache(void)
 {
-	zonefs_inode_cachep = kmem_cache_create("zonefs_inode_cache",
-			sizeof(struct zonefs_inode_info), 0,
-			(SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD | SLAB_ACCOUNT),
-			NULL);
+	zonefs_inode_cachep = KMEM_CACHE(zonefs_inode_info,
+			SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD | SLAB_ACCOUNT);
 	if (zonefs_inode_cachep == NULL)
 		return -ENOMEM;
 	return 0;