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 v3: Fix compile error in 2/7 picked up by 0-day robot v4: Rework based on Han's comments and rebase Mark Gray (6): 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: Introduce struct northd_data northd: Add lflow node northd: Do not calculate database sequence numbers incrementally controller/ovn-controller.c | 2 +- lib/inc-proc-eng.h | 30 +- northd/automake.mk | 6 + northd/en-lflow.c | 53 +++ northd/en-lflow.h | 16 + northd/en-northd.c | 140 ++++++++ northd/en-northd.h | 17 + northd/inc-proc-northd.c | 287 +++++++++++++++ northd/inc-proc-northd.h | 16 + northd/northd.c | 671 ++++++++++++++++++------------------ northd/northd.h | 77 ++++- northd/ovn-northd.c | 357 ++++++++++++------- 12 files changed, 1181 insertions(+), 491 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 d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev