Re: [PATCH] btrfs: Simplify the allocation of slab caches in btrfs_delayed_inode_init

From: Kunwu Chan
Date: Thu Feb 01 2024 - 03:34:49 EST


On 2024/1/31 18:20, Johannes Thumshirn wrote:
On 31.01.24 07:20, Kunwu Chan wrote:
commit 0a31bd5f2bbb ("KMEM_CACHE(): simplify slab cache creation")
introduces a new macro.
Use the new KMEM_CACHE() macro instead of direct kmem_cache_create

That commit is 17 years old. Why should we switch to it _now_? I
wouldn't call it a new macro.

Don't get me wrong, I don't oppose the patch, but I'd prefer a better
explanation why now and not 17 years ago when the macro got introduced.

Thanks for your attention.
Like David say in https://lore.kernel.org/all/20240131183929.GP31555@xxxxxxxxxxxxx/#t.

The main reason is 'it hides all the 0 or NULL parameters', makes the code cleaner and more readable.

So i'll update the commit msg to this:

Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.
Make the code cleaner and more readable.

And resend a v2 patch.
Thanks again.
to simplify the creation of SLAB caches.

Signed-off-by: Kunwu Chan <chentao@xxxxxxxxxx>
---
fs/btrfs/delayed-inode.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 08102883f560..8c748c6cdf6d 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -28,11 +28,7 @@ static struct kmem_cache *delayed_node_cache;
int __init btrfs_delayed_inode_init(void)
{
- delayed_node_cache = kmem_cache_create("btrfs_delayed_node",
- sizeof(struct btrfs_delayed_node),
- 0,
- SLAB_MEM_SPREAD,
- NULL);
+ delayed_node_cache = KMEM_CACHE(btrfs_delayed_node, SLAB_MEM_SPREAD);
if (!delayed_node_cache)
return -ENOMEM;
return 0;

--
Thanks,
Kunwu