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

From: Eric Dumazet
Date: Mon Feb 05 2024 - 07:29:59 EST


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"

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
>