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