Re: [PATCH net-next 5/6] tcp: Simplify the allocation of slab caches

From: Kunwu Chan
Date: Mon Feb 19 2024 - 04:09:53 EST


Thanks for your reply.
On 2024/2/5 20:29, Eric Dumazet wrote:
On Mon, Feb 5, 2024 at 8:23 AM Kunwu Chan <chentao@xxxxxxxxxx> wrote:

Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.
And change cache name from 'tcp_bind_bucket' to 'inet_bind_bucket',
'tcp_bind2_bucket' to 'inet_bind2_bucket'.

Signed-off-by: Kunwu Chan <chentao@xxxxxxxxxx>
---
net/ipv4/tcp.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index a1c6de385cce..2dc3dd4323c2 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -4697,17 +4697,11 @@ void __init tcp_init(void)
thash_entries, 21, /* one slot per 2 MB*/
0, 64 * 1024);
tcp_hashinfo.bind_bucket_cachep =
- kmem_cache_create("tcp_bind_bucket",
- sizeof(struct inet_bind_bucket), 0,
- SLAB_HWCACHE_ALIGN | SLAB_PANIC |
- SLAB_ACCOUNT,
- NULL);
+ KMEM_CACHE(inet_bind_bucket,
+ SLAB_HWCACHE_ALIGN | SLAB_PANIC | SLAB_ACCOUNT);

I would prefer we do not do this.

dccp is also using a kmem_cache_create() of "struct inet_bind_bucket"
When i do my work, i found this too, so i just change the cache name in tcp.

We want different caches for TCP and DCCP.
For distinguishment, I'll delete this patch in next patch series.


tcp_hashinfo.bind2_bucket_cachep =
- kmem_cache_create("tcp_bind2_bucket",
- sizeof(struct inet_bind2_bucket), 0,
- SLAB_HWCACHE_ALIGN | SLAB_PANIC |
- SLAB_ACCOUNT,
- NULL);
+ KMEM_CACHE(inet_bind2_bucket,
+ SLAB_HWCACHE_ALIGN | SLAB_PANIC | SLAB_ACCOUNT);

Same here.


/* Size and allocate the main established and bind bucket
* hash tables.
--
2.39.2

--
Thanks,
Kunwu