2024-02-20 08:25:42

by Kunwu Chan

[permalink] [raw]
Subject: [PATCH net-next v2 0/5] Use KMEM_CACHE instead of kmem_cache_create

As Jiri Pirko suggests,
I'm using a patchset to cleanup the same issues in the 'net' module.
Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.

Some cache names are changed to be the same as struct names.
This change is recorded in the changelog for easy reference.
It's harmless cause it's used in /proc/slabinfo to identify this cache.
---
Changes in v2:
- Delete a patch as Eric said in https://lore.kernel.org/all/CANn89iLkWvum6wSqSya_K+1eqnFvp=L2WLW=kAYrZTF8Ei4b7g@mail.gmail.com/
- No code changes,only add Reviewed-by tag
---
Kunwu Chan (5):
net: kcm: Simplify the allocation of slab caches
ip6mr: Simplify the allocation of slab caches in ip6_mr_init
ipmr: Simplify the allocation of slab caches
ipv4: Simplify the allocation of slab caches in ip_rt_init
ipv6: Simplify the allocation of slab caches

net/ipv4/ipmr.c | 5 +----
net/ipv4/route.c | 5 ++---
net/ipv6/ip6_fib.c | 6 ++----
net/ipv6/ip6mr.c | 5 +----
net/kcm/kcmsock.c | 8 ++------
5 files changed, 8 insertions(+), 21 deletions(-)

--
2.39.2



2024-02-20 08:25:43

by Kunwu Chan

[permalink] [raw]
Subject: [PATCH net-next v2 1/5] net: kcm: Simplify the allocation of slab caches

Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.
And change cache name from 'kcm_mux_cache' to 'kcm_mux',
'kcm_psock_cache' to 'kcm_psock'.

Signed-off-by: Kunwu Chan <[email protected]>
Reviewed-by: Michal Swiatkowski <[email protected]>
---
net/kcm/kcmsock.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c
index 1184d40167b8..bdc3e58a9b2b 100644
--- a/net/kcm/kcmsock.c
+++ b/net/kcm/kcmsock.c
@@ -1877,15 +1877,11 @@ static int __init kcm_init(void)
{
int err = -ENOMEM;

- kcm_muxp = kmem_cache_create("kcm_mux_cache",
- sizeof(struct kcm_mux), 0,
- SLAB_HWCACHE_ALIGN, NULL);
+ kcm_muxp = KMEM_CACHE(kcm_mux, SLAB_HWCACHE_ALIGN);
if (!kcm_muxp)
goto fail;

- kcm_psockp = kmem_cache_create("kcm_psock_cache",
- sizeof(struct kcm_psock), 0,
- SLAB_HWCACHE_ALIGN, NULL);
+ kcm_psockp = KMEM_CACHE(kcm_psock, SLAB_HWCACHE_ALIGN);
if (!kcm_psockp)
goto fail;

--
2.39.2


2024-02-20 08:25:47

by Kunwu Chan

[permalink] [raw]
Subject: [PATCH net-next v2 4/5] ipv4: Simplify the allocation of slab caches in ip_rt_init

Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.
And change cache name from 'ip_dst_cache' to 'rtable'.

Signed-off-by: Kunwu Chan <[email protected]>
Reviewed-by: Michal Swiatkowski <[email protected]>
---
net/ipv4/route.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 16615d107cf0..b512288d6fcc 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -3693,9 +3693,8 @@ int __init ip_rt_init(void)
panic("IP: failed to allocate ip_rt_acct\n");
#endif

- ipv4_dst_ops.kmem_cachep =
- kmem_cache_create("ip_dst_cache", sizeof(struct rtable), 0,
- SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
+ ipv4_dst_ops.kmem_cachep = KMEM_CACHE(rtable,
+ SLAB_HWCACHE_ALIGN | SLAB_PANIC);

ipv4_dst_blackhole_ops.kmem_cachep = ipv4_dst_ops.kmem_cachep;

--
2.39.2


2024-02-20 08:25:57

by Kunwu Chan

[permalink] [raw]
Subject: [PATCH net-next v2 3/5] ipmr: Simplify the allocation of slab caches

Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.
And change cache name from 'ip_mrt_cache' to 'mfc_cache'.

Signed-off-by: Kunwu Chan <[email protected]>
Reviewed-by: Michal Swiatkowski <[email protected]>
---
net/ipv4/ipmr.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index 9d6f59531b3a..820c95bee6bb 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -3139,10 +3139,7 @@ int __init ip_mr_init(void)
{
int err;

- mrt_cachep = kmem_cache_create("ip_mrt_cache",
- sizeof(struct mfc_cache),
- 0, SLAB_HWCACHE_ALIGN | SLAB_PANIC,
- NULL);
+ mrt_cachep = KMEM_CACHE(mfc_cache, SLAB_HWCACHE_ALIGN | SLAB_PANIC);

err = register_pernet_subsys(&ipmr_net_ops);
if (err)
--
2.39.2


2024-02-20 08:26:34

by Kunwu Chan

[permalink] [raw]
Subject: [PATCH net-next v2 2/5] ip6mr: Simplify the allocation of slab caches in ip6_mr_init

Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.
And change cache name from 'ip6_mrt_cache' to 'mfc6_cache'.

Signed-off-by: Kunwu Chan <[email protected]>
Reviewed-by: Michal Swiatkowski <[email protected]>
---
net/ipv6/ip6mr.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
index 9782c180fee6..1f19743f2540 100644
--- a/net/ipv6/ip6mr.c
+++ b/net/ipv6/ip6mr.c
@@ -1373,10 +1373,7 @@ int __init ip6_mr_init(void)
{
int err;

- mrt_cachep = kmem_cache_create("ip6_mrt_cache",
- sizeof(struct mfc6_cache),
- 0, SLAB_HWCACHE_ALIGN,
- NULL);
+ mrt_cachep = KMEM_CACHE(mfc6_cache, SLAB_HWCACHE_ALIGN);
if (!mrt_cachep)
return -ENOMEM;

--
2.39.2


2024-02-20 08:28:01

by Kunwu Chan

[permalink] [raw]
Subject: [PATCH net-next v2 5/5] ipv6: Simplify the allocation of slab caches

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]>
Reviewed-by: Michal Swiatkowski <[email protected]>
---
net/ipv6/ip6_fib.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index 4fc2cae0d116..25d7e6d45e6a 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -2444,10 +2444,8 @@ int __init fib6_init(void)
{
int ret = -ENOMEM;

- fib6_node_kmem = kmem_cache_create("fib6_nodes",
- sizeof(struct fib6_node), 0,
- SLAB_HWCACHE_ALIGN | SLAB_ACCOUNT,
- NULL);
+ fib6_node_kmem = KMEM_CACHE(fib6_node,
+ SLAB_HWCACHE_ALIGN | SLAB_ACCOUNT);
if (!fib6_node_kmem)
goto out;

--
2.39.2


2024-02-21 11:32:18

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net-next v2 0/5] Use KMEM_CACHE instead of kmem_cache_create

Hello:

This series was applied to netdev/net-next.git (main)
by David S. Miller <[email protected]>:

On Tue, 20 Feb 2024 15:36:41 +0800 you wrote:
> As Jiri Pirko suggests,
> I'm using a patchset to cleanup the same issues in the 'net' module.
> Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
> to simplify the creation of SLAB caches.
>
> Some cache names are changed to be the same as struct names.
> This change is recorded in the changelog for easy reference.
> It's harmless cause it's used in /proc/slabinfo to identify this cache.
>
> [...]

Here is the summary with links:
- [net-next,v2,1/5] net: kcm: Simplify the allocation of slab caches
https://git.kernel.org/netdev/net-next/c/5073d64e99df
- [net-next,v2,2/5] ip6mr: Simplify the allocation of slab caches in ip6_mr_init
https://git.kernel.org/netdev/net-next/c/11a548f252c4
- [net-next,v2,3/5] ipmr: Simplify the allocation of slab caches
https://git.kernel.org/netdev/net-next/c/eec70af2b41c
- [net-next,v2,4/5] ipv4: Simplify the allocation of slab caches in ip_rt_init
https://git.kernel.org/netdev/net-next/c/7eb2bc2481a1
- [net-next,v2,5/5] ipv6: Simplify the allocation of slab caches
https://git.kernel.org/netdev/net-next/c/072f88ca5ca4

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html