This series of patches greatly improves the performance of
ovn-northd-ddlog with the benchmark added in the final patch.  The
first three patches improve both the benchmark for both versions of
ovn-northd.

Here are the timings that I measure in each case.  All of them
include the benefit of the first three patches.  Without those
patches, the C version takes over 500 seconds and the other take much
longer too; the relative timings aren't affected much, it's just all
slower:

C:                                 106.8s (0.135s ... 1.043s)
ddlog before optimization patches: 176.0s (0.128s ... 1.804s)
ddlog after optimization patches:   35.2s (0.129s ... 0.147s)

v1->v2:
  - Don't remove --output-only-table option from ovsdb2ddlog2c
    in "ovn-northd-ddlog: Intern selected input relations.".
  - New patches "ovn-nbctl: Daemon mode is no longer experimental."
    and "ovn-nbctl: Recommend ovn-appctl instead of ovs-appctl."
    and make similar changes to new ovn-sbctl manpage.
  - Update ovn-sbctl and ovn-nbctl manpages to reference ovn-appctl
    manpage.
  - Various trivial changes suggested by checkpatch.
  - New patches "ovn-nbctl: Fix memory leak in client mode."
    and "ovn-northd-ddlog: Fix two memory leaks." fix memory leaks
    reported by Numan and found by Address Sanitizer.
  - Fix bug introduced into ovsdb2ddlog2c in "ovn-northd-ddlog: Intern
    selected input relations."

Ben Pfaff (11):
  ovn-northd-ddlog: Fix two memory leaks.
  ovn-nbctl: Fix memory leak in client mode.
  ovn-nbctl: Improve manpage.
  ovn-nbctl: Recommend ovn-appctl instead of ovs-appctl.
  ovn-nbctl: Daemon mode is no longer experimental.
  ovn-nbctl: Refactor into infrastructure and northbound details.
  ovn-dbctl: Fix memory leak in client mode.
  ovn-sbctl: Add daemon support.
  tests: Miscellaneous debuggability improvements.
  ovn-northd-ddlog: Preserve NB_Global more carefully.
  tutorial: Add benchmarking test script to run within sandbox.

Leonid Ryzhyk (15):
  ovn-northd-ddlog: Upgrade to ddlog 0.38.
  ovn-northd-ddlog: Remove `lr` field from `Router`.
  ovn-northd-ddlog: Intern the `Router` table.
  ovn-northd-ddlog: Workaround for slow group_by.
  ovn-northd-ddlog: Intern the Switch table.
  ovn-northd-ddlog: Remove `ls` field from `Switch`.
  ovn-northd-ddlog: Intern the SwitchPort table.
  ovn-northd-ddlog: Intern the RouterPort table.
  ovn-northd-ddlog: Remove unused function.
  ovn-northd-ddlog: Eliminate remaining Ref's.
  ovn-northd-ddlog: Eliminate redundant dereferences.
  ovn-northd-ddlog: Intern selected input relations.
  ovn-northd-ddlog: Intern nb::Logical_Router_Port.
  ovn-northd-ddlog: Intern nb::Logical_Switch_Port.
  ovn-northd-ddlog: Remove Router.static_routes.

 NEWS                          |    5 +-
 manpages.mk                   |   17 -
 northd/helpers.dl             |   40 +-
 northd/ipam.dl                |   61 +-
 northd/lrouter.dl             |  188 +++--
 northd/lswitch.dl             |  243 +++---
 northd/multicast.dl           |   77 +-
 northd/ovn-nb.dlopts          |   10 +
 northd/ovn-northd-ddlog.c     |   23 +-
 northd/ovn-sb.dlopts          |    1 +
 northd/ovn_northd.dl          | 1065 +++++++++++++-------------
 northd/ovsdb2ddlog2c          |    4 +-
 tests/ovn-sbctl.at            |   76 +-
 tests/ovn.at                  |   67 +-
 tutorial/automake.mk          |    3 +-
 tutorial/northd_ddlog_test.sh |   81 ++
 utilities/automake.mk         |   12 +-
 utilities/ovn-dbctl.c         | 1230 +++++++++++++++++++++++++++++
 utilities/ovn-dbctl.h         |   61 ++
 utilities/ovn-nbctl.8.xml     |  667 +++++++++-------
 utilities/ovn-nbctl.c         | 1363 ++++-----------------------------
 utilities/ovn-sbctl.8.in      |  317 --------
 utilities/ovn-sbctl.8.xml     |  580 ++++++++++++++
 utilities/ovn-sbctl.c         |  670 +++-------------
 24 files changed, 3599 insertions(+), 3262 deletions(-)
 create mode 100755 tutorial/northd_ddlog_test.sh
 create mode 100644 utilities/ovn-dbctl.c
 create mode 100644 utilities/ovn-dbctl.h
 delete mode 100644 utilities/ovn-sbctl.8.in
 create mode 100644 utilities/ovn-sbctl.8.xml

-- 
2.29.2

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to