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

From: Simon Horman
Date: Fri Jan 19 2024 - 10:20:58 EST


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 <chentao@xxxxxxxxxx>
> >
> > 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 <horms@xxxxxxxxxx>
> >
> > > ---
> > > 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
>