Skip to content

Commit

Permalink
northd: Mark most of the SB columns as write-changed-only.
Browse files Browse the repository at this point in the history
This uses the newly added ovsdb_idl_set_write_changed_only_all() to
explicitly disable atomicity checks for read/write columns and to enable
optimizing the process of building the SB transaction.

Bump OVS submodule to pick up d94cd0d3eec3 ("ovsdb-idl: Support
write-only-changed IDL monitor mode.").

Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2069623
Signed-off-by: Dumitru Ceara <dceara@redhat.com>
Signed-off-by: Han Zhou <hzhou@ovn.org>
  • Loading branch information
dceara authored and hzhou8 committed May 6, 2022
1 parent 3da85a6 commit c707190
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
10 changes: 9 additions & 1 deletion northd/ovn-northd.c
Expand Up @@ -723,10 +723,18 @@ main(int argc, char *argv[])
unixctl_command_register("nb-connection-status", "", 0, 0,
ovn_conn_show, ovnnb_idl_loop.idl);

/* We want to detect all changes to the ovn-sb db. */
/* We want to detect all changes to the ovn-sb db so enable change
* tracking but, for performance reasons, and because northd
* reconciles all database changes, also configure the IDL to only
* write columns that actually change value.
*/
struct ovsdb_idl_loop ovnsb_idl_loop = OVSDB_IDL_LOOP_INITIALIZER(
ovsdb_idl_create(ovnsb_db, &sbrec_idl_class, true, true));
ovsdb_idl_track_add_all(ovnsb_idl_loop.idl);
ovsdb_idl_set_write_changed_only_all(ovnsb_idl_loop.idl, true);

/* Disable alerting for pure write-only columns. */
ovsdb_idl_omit_alert(ovnsb_idl_loop.idl, &sbrec_sb_global_col_nb_cfg);

unixctl_command_register("sb-connection-status", "", 0, 0,
ovn_conn_show, ovnsb_idl_loop.idl);
Expand Down
2 changes: 1 addition & 1 deletion ovs
Submodule ovs updated 73 files
+1 −0 .mailmap
+7 −1 AUTHORS.rst
+3 −1 Documentation/faq/releases.rst
+219 −21 Documentation/intro/install/windows.rst
+13 −4 NEWS
+2 −1 configure.ac
+211 −25 datapath-windows/ovsext/Actions.c
+6 −1 datapath-windows/ovsext/Actions.h
+142 −17 datapath-windows/ovsext/Conntrack-ftp.c
+11 −0 datapath-windows/ovsext/Conntrack-icmp.c
+66 −16 datapath-windows/ovsext/Conntrack-nat.c
+37 −8 datapath-windows/ovsext/Conntrack-related.c
+265 −25 datapath-windows/ovsext/Conntrack.c
+5 −29 datapath-windows/ovsext/Conntrack.h
+15 −12 datapath-windows/ovsext/DpInternal.h
+150 −46 datapath-windows/ovsext/Flow.c
+4 −3 datapath-windows/ovsext/Flow.h
+118 −45 datapath-windows/ovsext/Geneve.c
+17 −2 datapath-windows/ovsext/Geneve.h
+26 −11 datapath-windows/ovsext/Gre.c
+2 −2 datapath-windows/ovsext/Gre.h
+315 −167 datapath-windows/ovsext/IpHelper.c
+81 −10 datapath-windows/ovsext/IpHelper.h
+7 −1 datapath-windows/ovsext/NetProto.h
+35 −12 datapath-windows/ovsext/Offload.c
+7 −6 datapath-windows/ovsext/Offload.h
+1 −0 datapath-windows/ovsext/PacketParser.c
+27 −13 datapath-windows/ovsext/Stt.c
+2 −2 datapath-windows/ovsext/Stt.h
+4 −4 datapath-windows/ovsext/Tunnel.c
+4 −3 datapath-windows/ovsext/User.c
+1 −1 datapath-windows/ovsext/User.h
+19 −0 datapath-windows/ovsext/Util.c
+21 −0 datapath-windows/ovsext/Util.h
+105 −61 datapath-windows/ovsext/Vxlan.c
+6 −6 datapath-windows/ovsext/Vxlan.h
+1 −0 datapath-windows/ovsext/precomp.h
+8 −1 datapath/flow_netlink.c
+11 −9 datapath/linux/compat/include/linux/openvswitch.h
+2 −8 debian/changelog
+2 −0 include/openvswitch/vlog.h
+2 −1 ipsec/ovs-monitor-ipsec.in
+4 −1 lib/daemon-unix.c
+5 −5 lib/dpif-netdev-avx512.c
+1 −1 lib/dpif-netdev-extract-avx512.c
+4 −8 lib/dpif-netdev-extract-study.c
+2 −6 lib/dpif-netdev-private-extract.c
+5 −11 lib/dpif-netdev.c
+109 −90 lib/json.c
+52 −48 lib/netdev-dpdk.c
+4 −2 lib/netdev-vport.c
+2 −0 lib/odp-execute.c
+4 −0 lib/odp-util.c
+1 −0 lib/ovsdb-cs.c
+1 −0 lib/ovsdb-cs.h
+54 −6 lib/ovsdb-idl.c
+14 −2 lib/ovsdb-idl.h
+5 −0 lib/signals.c
+65 −28 lib/vlog.c
+1 −0 ofproto/ofproto-dpif-sflow.c
+7 −0 ofproto/ofproto-dpif-xlate.c
+5 −3 ovsdb/ovsdb-server.c
+23 −5 ovsdb/relay.c
+5 −11 ovsdb/row.c
+5 −4 ovsdb/transaction.c
+67 −35 python/ovs/db/idl.py
+6 −0 tests/ofproto-dpif.at
+30 −1 tests/ovsdb-idl.at
+36 −12 tests/ovsdb-server.at
+50 −3 tests/system-traffic.at
+18 −5 tests/test-json.c
+13 −5 tests/test-ovsdb.c
+75 −2 tests/tunnel-push-pop.at

0 comments on commit c707190

Please sign in to comment.