On Fri, Apr 21, 2017 at 06:55:27PM -0700, Han Zhou wrote:
> When there are in-flight msgs being sent to OVS, ofctrl_put will
> skip, which makes all the flows computed in that main loop
> iteration useless. To avoid the wasted CPU cycles, a check is added
> before lflow/physical flow run in each iteration.
> 
> This has huge performance improvement in below testing:
> - 1 lswitch with 10 lports bound locally
> - Each lport has an ingress ACL, referencing the same address-set
> - The address-set has 10,000 IPv4 addresses
> 
> For each IP address in the address-set, there will be 3
> OpenFlow rules generated for each ACL. So the total number
> of rules is 300k+.
> 
> Without the patch, it takes 50+ minutes to install all the
> rules to ovs-vswitchd.
> 
> With the patch, it takes 16 seconds to install all the rules
> to ovs-vswitchd.
> 
> The reason is that the large number of rules are sent to
> ovs-vswitchd gradually in many iterations of ovn-controller
> main loop. Without the patch, cpu cycles are wasted in
> lflow_run to re-processing the large address set in every
> main loop iteration. With the patch, this re-processing is
> avoided in iterations when there are pending rules sending.
> 
> Signed-off-by: Han Zhou <zhou...@gmail.com>

Wow, that's a huge performance improvement, really amazing.  Thank you
for implementing this!  I applied it to master.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to