[ovs-dev] [PATCH ovn v5 0/6] northd: Introduce incremental processing framework

Mark Gray mrmarkgray at gmail.com
Tue Nov 9 19:36:01 UTC 2021


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
v5: Rebase and address Han's comments

Mark Gray (6):
  northd: Introduce incremental processing for northd
  northd: Add n_nat_entries field to 'struct ovn_datapath'
  northd: Introduce struct northd_data
  northd: Call build_mcast_groups() from build_lflows()
  northd: Add lflow node
  northd: Do not calculate database sequence numbers incrementally

 lib/inc-proc-eng.h       |  17 +
 northd/automake.mk       |   6 +
 northd/en-lflow.c        |  76 ++++
 northd/en-lflow.h        |  16 +
 northd/en-northd.c       | 130 ++++++
 northd/en-northd.h       |  17 +
 northd/inc-proc-northd.c | 287 +++++++++++++
 northd/inc-proc-northd.h |  16 +
 northd/northd.c          | 850 ++++++++++++++++++++-------------------
 northd/northd.h          |  88 +++-
 northd/ovn-northd.c      | 360 +++++++++++------
 11 files changed, 1313 insertions(+), 550 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.17.1


-- 
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus



More information about the dev mailing list