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

Han Zhou hzhou at ovn.org
Thu Nov 4 00:10:00 UTC 2021


On Wed, Oct 27, 2021 at 10:23 AM Mark Gray <mark.d.gray at redhat.com> wrote:
>
> 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
>

Thanks Mark for the revision. I applied the first patch to the main branch.
I added comments for patch 4 - 6. No more comments for patch 2-3 but I
think 2 and 4 are better to be applied together, so I am leaving it for the
next version.

Thanks,
Han

> 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
>
>


More information about the dev mailing list