Add the 'inc-proc-eng' framework to northd. This does *not*
add any incremental processing at this stage but provides the
framework to do so. Even in this base configuration, we see an
advantage as northd no longer processes the databases if it has
been woken only to handle, for example, a unixctl command. This
can be seen below
$ ovn-appctl -t ovn-northd stopwatch/reset
$ for i in {1..10}; do ovn-appctl -t ovn-northd stopwatch/show >/dev/null; done
$ ovn-appctl -t ovn-northd stopwatch/show ovnnb_db_run
Statistics for 'ovnnb_db_run'
Total samples: 0
Maximum: 0 msec
Minimum: 0 msec
95th percentile: 0.000000 msec
Short term average: 0.000000 msec
Long term average: 0.000000 msec
Hopefully this starting point will allow others to discuss or contribute
changes to incrementally process some aspects of northd. We an also
decide if it is worth progressing with this in general.
Thanks,
v2: Rebase
Mark Gray (7):
inc-proc-eng: Allow definition of engine_node with global scope
northd: Introduce incremental processing for northd
northd: Add n_nat_entries field to 'struct ovn_datapath'
northd: Rename struct northd_context
northd: Introduce struct northd_data
northd: Add lflow node
en_lflow: Generate logical flows
controller/ovn-controller.c | 2 +-
lib/inc-proc-eng.h | 24 ++-
northd/automake.mk | 6 +
northd/en-lflow.c | 54 ++++++
northd/en-lflow.h | 16 ++
northd/en-northd.c | 65 +++++++
northd/en-northd.h | 21 ++
northd/inc-proc-northd.c | 257 +++++++++++++++++++++++++
northd/inc-proc-northd.h | 15 ++
northd/northd.c | 368 +++++++++++++++++++-----------------
northd/northd.h | 36 +++-
northd/ovn-northd.c | 237 +++++++++++++----------
12 files changed, 812 insertions(+), 289 deletions(-)
create mode 100644 northd/en-lflow.c
create mode 100644 northd/en-lflow.h
create mode 100644 northd/en-northd.c
create mode 100644 northd/en-northd.h
create mode 100644 northd/inc-proc-northd.c
create mode 100644 northd/inc-proc-northd.h
--
2.27.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev