Hi Ilya, I can run some (unscientific) benchmarks using the OVN sandbox and report back what I see.
On Mon, Jan 12, 2026 at 4:50 AM Ilya Maximets <[email protected]> wrote: > > On 1/9/26 6:54 PM, Mark Michelson via dev wrote: > > This series refactors the logical flow library with two goals in mind: > > > > 1) Eliminate the use of any structures that are created by the en-northd > > incremental engine node. Composable services will define new datapath > > types that will bypass en-northd processing. This allows for them to > > add, remove and sync logical flows without the need for structures like > > ovn_datapath or ovn_datapaths. > > > > 2) Eliminate the dichotomy that every logical datapath must either be a > > switch or a router. New datapath types may be added, and when they are > > added, the lflow library needs to accommodate those new types without > > having to be altered. > > > > Mark Michelson (9): > > Add sparse array. > > northd: Convert ovn_datapath to use sparse_array. > > Use a sparse array for synced datapaths. > > northd: Base ovn_datapath index on synced_datapath index. > > lflow-mgr: Use a dynamic bitmap when updating SB DP groups. > > datapath-sync: Make ovn_synced_datapath_from_sb() public. > > lflow-mgr: Use an array for lflow dp groups. > > lflow-mgr: Don't use ovn_datapath when adding logical flows. > > lflow-mgr: Remove ovn_datapaths from functions. > > > > lib/automake.mk | 2 + > > lib/ovn-util.h | 15 +++ > > lib/sparse-array.c | 102 +++++++++++++++ > > lib/sparse-array.h | 54 ++++++++ > > northd/datapath-sync.c | 27 ++++ > > northd/datapath-sync.h | 8 ++ > > northd/en-datapath-sync.c | 62 ++++----- > > northd/en-lflow.c | 22 ++-- > > northd/en-lr-nat.c | 2 +- > > northd/en-lr-stateful.c | 2 +- > > northd/en-ls-arp.c | 2 +- > > northd/en-ls-stateful.c | 2 +- > > northd/en-sync-sb.c | 57 ++++---- > > northd/inc-proc-northd.c | 7 + > > northd/lb.c | 4 +- > > northd/lflow-mgr.c | 214 ++++++++++++++----------------- > > northd/lflow-mgr.h | 52 ++++---- > > northd/northd.c | 115 ++++++----------- > > northd/northd.h | 15 +-- > > tests/automake.mk | 1 + > > tests/ovn-inc-proc-graph-dump.at | 2 + > > tests/ovn.at | 5 + > > tests/test-sparse-array.c | 206 +++++++++++++++++++++++++++++ > > 23 files changed, 662 insertions(+), 316 deletions(-) > > create mode 100644 lib/sparse-array.c > > create mode 100644 lib/sparse-array.h > > create mode 100644 tests/test-sparse-array.c > > > > Hi, Mark, Ales. This code is touching a lot of performance-critical parts > in northd. Do we have some performance numbers for it? ovn-heater is > currently broken, unfortunately, but at least some manual test results with > a large database to see recompute times would be good to have. > > Best regards, Ilya Maximets. > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
