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@kylinos.cn>
---
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);
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);
/* Size and allocate the main established and bind bucket
* hash tables.
--
2.39.2
On Mon, Feb 5, 2024 at 8:23 AM Kunwu Chan <chentao@kylinos.cn> 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@kylinos.cn>
> ---
> 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"
We want different caches for TCP and DCCP.
> 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 for your reply.
On 2024/2/5 20:29, Eric Dumazet wrote:
> On Mon, Feb 5, 2024 at 8:23 AM Kunwu Chan <chentao@kylinos.cn> 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@kylinos.cn>
>> ---
>> 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
© 2016 - 2026 Red Hat, Inc.