2024-01-17 07:21:53

by Kunwu Chan

[permalink] [raw]
Subject: [PATCH net] ipvs: Simplify the allocation of ip_vs_conn 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]>
---
net/netfilter/ipvs/ip_vs_conn.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
index a743db073887..98d7dbe3d787 100644
--- a/net/netfilter/ipvs/ip_vs_conn.c
+++ b/net/netfilter/ipvs/ip_vs_conn.c
@@ -1511,9 +1511,7 @@ int __init ip_vs_conn_init(void)
return -ENOMEM;

/* Allocate ip_vs_conn slab cache */
- ip_vs_conn_cachep = kmem_cache_create("ip_vs_conn",
- sizeof(struct ip_vs_conn), 0,
- SLAB_HWCACHE_ALIGN, NULL);
+ ip_vs_conn_cachep = KMEM_CACHE(ip_vs_conn, SLAB_HWCACHE_ALIGN);
if (!ip_vs_conn_cachep) {
kvfree(ip_vs_conn_tab);
return -ENOMEM;
--
2.39.2



2024-01-17 09:16:57

by Denis Kirjanov

[permalink] [raw]
Subject: Re: [PATCH net] ipvs: Simplify the allocation of ip_vs_conn slab caches



On 1/17/24 10:20, Kunwu Chan wrote:
> 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]>

The patch is actually for net-next

> ---
> net/netfilter/ipvs/ip_vs_conn.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
> index a743db073887..98d7dbe3d787 100644
> --- a/net/netfilter/ipvs/ip_vs_conn.c
> +++ b/net/netfilter/ipvs/ip_vs_conn.c
> @@ -1511,9 +1511,7 @@ int __init ip_vs_conn_init(void)
> return -ENOMEM;
>
> /* Allocate ip_vs_conn slab cache */
> - ip_vs_conn_cachep = kmem_cache_create("ip_vs_conn",
> - sizeof(struct ip_vs_conn), 0,
> - SLAB_HWCACHE_ALIGN, NULL);
> + ip_vs_conn_cachep = KMEM_CACHE(ip_vs_conn, SLAB_HWCACHE_ALIGN);
> if (!ip_vs_conn_cachep) {
> kvfree(ip_vs_conn_tab);
> return -ENOMEM;

2024-01-17 09:29:52

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH net] ipvs: Simplify the allocation of ip_vs_conn slab caches

On Wed, Jan 17, 2024 at 03:20:45PM +0800, Kunwu Chan wrote:
> 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]>

Hi Kunwu Chan,

I think this is more of a cleanup than a fix,
so it should probably be targeted at 'nf-next' rather than 'net'.

If it is a fix, then I would suggest targeting it at 'nf'
and providing a Fixes tag.

The above notwithstanding, this looks good to me.

Acked-by: Simon Horman <[email protected]>

> ---
> net/netfilter/ipvs/ip_vs_conn.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
> index a743db073887..98d7dbe3d787 100644
> --- a/net/netfilter/ipvs/ip_vs_conn.c
> +++ b/net/netfilter/ipvs/ip_vs_conn.c
> @@ -1511,9 +1511,7 @@ int __init ip_vs_conn_init(void)
> return -ENOMEM;
>
> /* Allocate ip_vs_conn slab cache */
> - ip_vs_conn_cachep = kmem_cache_create("ip_vs_conn",
> - sizeof(struct ip_vs_conn), 0,
> - SLAB_HWCACHE_ALIGN, NULL);
> + ip_vs_conn_cachep = KMEM_CACHE(ip_vs_conn, SLAB_HWCACHE_ALIGN);
> if (!ip_vs_conn_cachep) {
> kvfree(ip_vs_conn_tab);
> return -ENOMEM;

2024-01-18 02:22:37

by Kunwu Chan

[permalink] [raw]
Subject: Re: [PATCH net] ipvs: Simplify the allocation of ip_vs_conn slab caches

Hi Simon,

Thanks for your reply.

On 2024/1/17 17:29, Simon Horman wrote:
> On Wed, Jan 17, 2024 at 03:20:45PM +0800, Kunwu Chan wrote:
>> 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]>
>
> Hi Kunwu Chan,
>
> I think this is more of a cleanup than a fix,
> so it should probably be targeted at 'nf-next' rather than 'net'.
Thanks, I'm confused about when to use "nf-next" or "net" or "net-next".
"nf-next" means fixing errors for linux-next.git and linux-stable.git,
while "nf" or "next" just means linux-next.git?

>
> If it is a fix, then I would suggest targeting it at 'nf'
> and providing a Fixes tag.
I'll keep it in mind in the future.
>
> The above notwithstanding, this looks good to me.
>
> Acked-by: Simon Horman <[email protected]>
>
>> ---
>> net/netfilter/ipvs/ip_vs_conn.c | 4 +---
>> 1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
>> index a743db073887..98d7dbe3d787 100644
>> --- a/net/netfilter/ipvs/ip_vs_conn.c
>> +++ b/net/netfilter/ipvs/ip_vs_conn.c
>> @@ -1511,9 +1511,7 @@ int __init ip_vs_conn_init(void)
>> return -ENOMEM;
>>
>> /* Allocate ip_vs_conn slab cache */
>> - ip_vs_conn_cachep = kmem_cache_create("ip_vs_conn",
>> - sizeof(struct ip_vs_conn), 0,
>> - SLAB_HWCACHE_ALIGN, NULL);
>> + ip_vs_conn_cachep = KMEM_CACHE(ip_vs_conn, SLAB_HWCACHE_ALIGN);
>> if (!ip_vs_conn_cachep) {
>> kvfree(ip_vs_conn_tab);
>> return -ENOMEM;
--
Thanks,
Kunwu


2024-01-19 15:21:00

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH net] ipvs: Simplify the allocation of ip_vs_conn slab caches

On Thu, Jan 18, 2024 at 10:22:05AM +0800, Kunwu Chan wrote:
> Hi Simon,
>
> Thanks for your reply.
>
> On 2024/1/17 17:29, Simon Horman wrote:
> > On Wed, Jan 17, 2024 at 03:20:45PM +0800, Kunwu Chan wrote:
> > > 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]>
> >
> > Hi Kunwu Chan,
> >
> > I think this is more of a cleanup than a fix,
> > so it should probably be targeted at 'nf-next' rather than 'net'.
> Thanks, I'm confused about when to use "nf-next" or "net" or "net-next".
> "nf-next" means fixing errors for linux-next.git and linux-stable.git, while
> "nf" or "next" just means linux-next.git?

Hi Kunwu,

nf is for fixes for Netfilter (which includes IPVS). The target tree is nf.git
nf-next is for non-fixes for Netfilter. The target tree if nf-next.git

net is for fixes for Networking code, which does not have a more specific
tree (as is the case for Netfilter). The target tree is net.git.
Liikewise, net-next is for non-fixes for Networking code.
The target tree is net-next.git

The MAINTAINERS file, and get_maintainers.pl script are useful here.

nf is merged into net on request from the Netfilter maintainers,
this is it's path to released kernels.
Likewise, nf-next is merged into net-next.

>
> >
> > If it is a fix, then I would suggest targeting it at 'nf'
> > and providing a Fixes tag.
> I'll keep it in mind in the future.
> >
> > The above notwithstanding, this looks good to me.
> >
> > Acked-by: Simon Horman <[email protected]>
> >
> > > ---
> > > net/netfilter/ipvs/ip_vs_conn.c | 4 +---
> > > 1 file changed, 1 insertion(+), 3 deletions(-)
> > >
> > > diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
> > > index a743db073887..98d7dbe3d787 100644
> > > --- a/net/netfilter/ipvs/ip_vs_conn.c
> > > +++ b/net/netfilter/ipvs/ip_vs_conn.c
> > > @@ -1511,9 +1511,7 @@ int __init ip_vs_conn_init(void)
> > > return -ENOMEM;
> > > /* Allocate ip_vs_conn slab cache */
> > > - ip_vs_conn_cachep = kmem_cache_create("ip_vs_conn",
> > > - sizeof(struct ip_vs_conn), 0,
> > > - SLAB_HWCACHE_ALIGN, NULL);
> > > + ip_vs_conn_cachep = KMEM_CACHE(ip_vs_conn, SLAB_HWCACHE_ALIGN);
> > > if (!ip_vs_conn_cachep) {
> > > kvfree(ip_vs_conn_tab);
> > > return -ENOMEM;
> --
> Thanks,
> Kunwu
>

2024-01-22 07:36:13

by Kunwu Chan

[permalink] [raw]
Subject: Re: [PATCH net] ipvs: Simplify the allocation of ip_vs_conn slab caches

On 2024/1/19 23:20, Simon Horman wrote:
> On Thu, Jan 18, 2024 at 10:22:05AM +0800, Kunwu Chan wrote:
>> Hi Simon,
>>
>> Thanks for your reply.
>>
>> On 2024/1/17 17:29, Simon Horman wrote:
>>> On Wed, Jan 17, 2024 at 03:20:45PM +0800, Kunwu Chan wrote:
>>>> 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]>
>>>
>>> Hi Kunwu Chan,
>>>
>>> I think this is more of a cleanup than a fix,
>>> so it should probably be targeted at 'nf-next' rather than 'net'.
>> Thanks, I'm confused about when to use "nf-next" or "net" or "net-next".
>> "nf-next" means fixing errors for linux-next.git and linux-stable.git, while
>> "nf" or "next" just means linux-next.git?
>
> Hi Kunwu,
>
> nf is for fixes for Netfilter (which includes IPVS). The target tree is nf.git
> nf-next is for non-fixes for Netfilter. The target tree if nf-next.git
>
> net is for fixes for Networking code, which does not have a more specific
> tree (as is the case for Netfilter). The target tree is net.git.
> Liikewise, net-next is for non-fixes for Networking code.
> The target tree is net-next.git
>
Hi Simon,

Thank you very much for your detailed guidance.
In the future, I will carefully follow the rules you introduced to set
the appropriate subject for the patch.


> The MAINTAINERS file, and get_maintainers.pl script are useful here.
>
> nf is merged into net on request from the Netfilter maintainers,
> this is it's path to released kernels.
> Likewise, nf-next is merged into net-next.
>
Before send the patch, I'll read the MAINTAINERS file, and search in
email-list to confirm the correct subject.

And if need a new subject patch, i could resend a new one.
>>
>>>
>>> If it is a fix, then I would suggest targeting it at 'nf'
>>> and providing a Fixes tag.
>> I'll keep it in mind in the future.
>>>
>>> The above notwithstanding, this looks good to me.
>>>
>>> Acked-by: Simon Horman <[email protected]>
>>>
>>>> ---
>>>> net/netfilter/ipvs/ip_vs_conn.c | 4 +---
>>>> 1 file changed, 1 insertion(+), 3 deletions(-)
>>>>
>>>> diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
>>>> index a743db073887..98d7dbe3d787 100644
>>>> --- a/net/netfilter/ipvs/ip_vs_conn.c
>>>> +++ b/net/netfilter/ipvs/ip_vs_conn.c
>>>> @@ -1511,9 +1511,7 @@ int __init ip_vs_conn_init(void)
>>>> return -ENOMEM;
>>>> /* Allocate ip_vs_conn slab cache */
>>>> - ip_vs_conn_cachep = kmem_cache_create("ip_vs_conn",
>>>> - sizeof(struct ip_vs_conn), 0,
>>>> - SLAB_HWCACHE_ALIGN, NULL);
>>>> + ip_vs_conn_cachep = KMEM_CACHE(ip_vs_conn, SLAB_HWCACHE_ALIGN);
>>>> if (!ip_vs_conn_cachep) {
>>>> kvfree(ip_vs_conn_tab);
>>>> return -ENOMEM;
>> --
>> Thanks,
>> Kunwu
>>
--
Thanks,
Kunwu