LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [net-next 1/2] ipvs: batch __ip_vs_cleanup

To: Haishuang Yan <yanhaishuang@xxxxxxxxxxxxxxxxxxxx>
Subject: Re: [net-next 1/2] ipvs: batch __ip_vs_cleanup
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>, Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx, lvs-devel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx
From: Julian Anastasov <ja@xxxxxx>
Date: Mon, 29 Jul 2019 23:03:31 +0300 (EEST)
        Hello,

On Thu, 18 Jul 2019, Haishuang Yan wrote:

> As the following benchmark testing results show, there is a little 
> performance improvement:

        OK, can you send v2 after removing the LIST_HEAD(list) from
both patches, I guess, it is not needed. If you prefer, you can
include these benchmark results too.

> $  cat add_del_unshare.sh
> #!/bin/bash
> 
> for i in `seq 1 100`
>     do
>      (for j in `seq 1 40` ; do  unshare -n ipvsadm -A -t 172.16.$i.$j:80 
> >/dev/null ; done) &
>     done
> wait; grep net_namespace /proc/slabinfo
> 
> Befor patch:
> $  time sh add_del_unshare.sh
> net_namespace       4020   4020   4736    6    8 : tunables    0    0    0 : 
> slabdata    670    670      0
> 
> real    0m8.086s
> user    0m2.025s
> sys     0m36.956s
> 
> After patch:
> $  time sh add_del_unshare.sh
> net_namespace       4020   4020   4736    6    8 : tunables    0    0    0 : 
> slabdata    670    670      0
> 
> real    0m7.623s
> user    0m2.003s
> sys     0m32.935s
> 
> 
> > 
> >> +          ipvs = net_ipvs(net);
> >> +          ip_vs_conn_net_cleanup(ipvs);
> >> +          ip_vs_app_net_cleanup(ipvs);
> >> +          ip_vs_protocol_net_cleanup(ipvs);
> >> +          ip_vs_control_net_cleanup(ipvs);
> >> +          ip_vs_estimator_net_cleanup(ipvs);
> >> +          IP_VS_DBG(2, "ipvs netns %d released\n", ipvs->gen);
> >> +          net->ipvs = NULL;

Regards

--
Julian Anastasov <ja@xxxxxx>

<Prev in Thread] Current Thread [Next in Thread>