Hi Ben, a few notes:
1) The subject line here didn't include "ovn" so it didn't end up in
OVN's patchwork. I had to find it in the OVS patchwork, where it had
been marked as "Not Applicable".
2) There is some overlap in this patch series with the separate patch
series that adds the ovn-sbctl daemon. Should the separate series that
adds the ovn-sbctl daemon be ignored in favor of this series?
3) The patch series doesn't apply cleanly to master now, so it will need
a rebase before we can merge it.
I gave reviews to some of the individual patches in the series. I didn't
feel comfortable commenting on the relative performance of
DDlog-specific patches though.
On 4/1/21 7:20 PM, Ben Pfaff wrote:
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
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev