2024-02-05 08:14:35

by Kunwu Chan

[permalink] [raw]
Subject: [PATCH] xfs: Simplify the allocation of slab caches in xfs_rmap_intent_init_cache

Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.

Signed-off-by: Kunwu Chan <[email protected]>
---
fs/xfs/libxfs/xfs_rmap.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/fs/xfs/libxfs/xfs_rmap.c b/fs/xfs/libxfs/xfs_rmap.c
index 76bf7f48cb5a..99aac6f6f6b1 100644
--- a/fs/xfs/libxfs/xfs_rmap.c
+++ b/fs/xfs/libxfs/xfs_rmap.c
@@ -2931,9 +2931,7 @@ const struct xfs_owner_info XFS_RMAP_OINFO_COW = {
int __init
xfs_rmap_intent_init_cache(void)
{
- xfs_rmap_intent_cache = kmem_cache_create("xfs_rmap_intent",
- sizeof(struct xfs_rmap_intent),
- 0, 0, NULL);
+ xfs_rmap_intent_cache = KMEM_CACHE(xfs_rmap_intent, 0);

return xfs_rmap_intent_cache != NULL ? 0 : -ENOMEM;
}
--
2.39.2



2024-02-05 10:07:54

by Dave Chinner

[permalink] [raw]
Subject: Re: [PATCH] xfs: Simplify the allocation of slab caches in xfs_rmap_intent_init_cache

On Mon, Feb 05, 2024 at 04:12:27PM +0800, Kunwu Chan wrote:
> Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
> to simplify the creation of SLAB caches.

What makes you think KMEM_CACHE is new? It was added to the kernel
in 2007 The vast majority of the kernel is still using
kmem_cache_create(), not the weird, shouty macro that doesn't
actually tell us what it is doing with said kmem_cache......

Up until now I've chosen not switch XFS to use it because many of
the slab caches we use in XFS are not just "default" slab caches.
IOWs, we still have to use kmem_cache_create() for a lot of the
caches we create, so we may as well use kmem_cache_create() for all of them
rather than have to go look up what KMEM_CACHE() translates to every
time we are looking at how slab caches are created.

Also, if you are going to change simple API stuff like this in XFS,
please do all the conversions in a single patch. It takes much less
time and resources to review and merge a single patch compared to a
couple of dozen independent one line patches...

-Dave.
--
Dave Chinner
[email protected]