On Fri, Sep 13, 2019 at 3:13 AM Han Zhou <zhou...@gmail.com> wrote: > On Thu, Sep 12, 2019 at 7:14 AM Dumitru Ceara <dce...@redhat.com> wrote: > > > > This series adds some (independent) optimizations that improve > > ovn-controller performance by lowering the number of operations that > > need to be executed during a iteration of the main controller loop. > > > > Each patch in the series addresses a bottleneck reported by running > > `perf record -g --call-graph dwarf -i /usr/bin/ovn-controller` on a > > system where the Southbound DB was already populated by ovn-northd. > > > > The logical configuration of the OVN is: > > - 500 logical routers > > - 1 logical switch attached to each router > > - 2 logical ports attached to each switch > > - 4 ACLs per switch > > > > To evaluate the performance impact of the change in a more realistic > > way the following test is performed (on a single node that runs > ovn-northd > > and ovn-controller and emulates the VM hosts with OVS internal > interfaces): > > 1. Start ovs-vswitchd. > > 2. Remove the Southbound DB such that ovn-northd needs to repopulate > > everything based on the Northbound DB contents. > > 3. Start a patched version of ovn-controller such that it tracks loop > time > > execution information and how long it takes to process all logical > flows > > from the Southbound DB. > > 4. At the same time with step 3 above, start ovn-northd which will > populate > > the Southbound DB. > > > > The following measurements are taken: > > - real time (measured with `time`) to have all corresponding openflow > flows > > processed by ovs-vswitchd. > > - maximum ovn-controller main loop iteration duration > > - average ovn-controller main loop iteration duration > > - number of times ovn-controller executes the main loop until all logical > > flows are processed > > > > Comparing the results before and after this series we see: > > - 13% performance boost w.r.t. real time taken to have all openflow flows > > installed in ovs-vswitchd > > - 41% decrease of average ovn-controller loop iteration duration and > > 12% increase of ovn-controller number of loop iterations. Essentially > > processing loops are faster and can happen more often. > > - 2% decrease of maximum ovn-controller main loop iteration duration. > > > > > > Dumitru Ceara (2): > > ovn-controller: Optimize update of ct-zones external-ids. > > ovn-controller: Minimize SB DB port_binding lookups. > > > > > > controller/binding.c | 19 ++++++++++++--- > > controller/ovn-controller.c | 53 > +++++++++++++++++++++++++++++++++++++------ > > controller/ovn-controller.h | 11 ++++++++- > > controller/physical.c | 17 ++++++++------ > > controller/pinctrl.c | 53 > +++++++++++-------------------------------- > > 5 files changed, 93 insertions(+), 60 deletions(-) > > > > > > --- > > v3: > > - Remove first patch from the series as it was already applied. > > - Rebase rest of series. > > v2: Send series for OVN repo instead of OVS. > > _______________________________________________ > > dev mailing list > > d...@openvswitch.org > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Thanks Dumitru. For the series: > > Acked-by: Han Zhou <hzh...@ebay.com> >
Thanks for the patches and reviews. I applied this series to master. Numan > _______________________________________________ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev