[ovs-dev] [PATCH ovn 0/4] Avoid parsing non-local lflows with the help of tags in SB.

Han Zhou hzhou at ovn.org
Wed Jul 21 16:03:11 UTC 2021


On Wed, Jul 21, 2021 at 7:58 AM Mark Michelson <mmichels at redhat.com> wrote:
>
> Hi Han,
>
> For the series,
> Acked-by: Mark Michelson <mmichels at redhat.com>

Thanks Mark! I applied the series.

>
> I think this series is good to go in as-is. I'm curious if a future
> enhancement might be to add an in_out_port tag to flows that use
> is_chassis_resident(). It might even make sense to eventually deprecate
> is_chassis_resident() in favor of in_out_port tags since it means not
> having to parse the expression. What do you think?
>
Yes, this is a good idea. A new tag type can be added for this to replace
is_chassis_resident(). I am not sure how obvious the performance gain would
be, but it probably would also simplify some logic in ovn-controller. There
can be more use cases for flow tagging in the future.

Thanks,
Han

> On 7/15/21 8:07 PM, Han Zhou wrote:
> > With the help of logical_flow's in_out_port tag, we can skip parsing a
> > big portion of the logical flows in SB DB, which can largely improve
> > ovn-controller's performance whenever a full recompute is required.
> >
> > With a scale test topology of 1000 chassises, 20 LSPs per chassis, 20k
> > lports in total spread acrossing 200 logical switches, connected by a
> > logical router, the test result before & after this change:
> >
> > Before:
> > - lflow-cache disabled:
> >      - ovn-controller recompute: 2.7 sec
> > - lflow-cache enabled:
> >      - ovn-controller recompute: 2.1 sec
> >      - lflow cache memory: 622103 KB
> >
> > After:
> > - lflow-cache disabled:
> >      - ovn-controller recompute: 0.83 sec
> > - lflow-cache enabled:
> >      - ovn-controller recompute: 0.71 sec
> >      - lflow cache memory: 123641 KB
> >
> > (note: DP group enabled for both)
> >
> > So for this test scenario, when lflow cache is disabled, latency reduced
> > ~70%; when lflow cache is enabled, latency reduced ~65% and lflow cache
> > memory reduced ~80%.
> >
> > Changes after the RFC patch:
> > - Rebase on master
> > - Add ddlog changes
> > - Add an ovn-northd test case to make sure the tags are added
> >
> > Han Zhou (4):
> >    ovn-northd.at: Minor improvement for the dp group test case.
> >    ovn-sb: Add tags column to logical_flow table of the SB DB.
> >    ovn-northd: Populate in_out_port in logical_flow table's tags.
> >    ovn-controller: Skip non-local lflows in ovn-controller before
> >      parsing.
> >
> >   controller/lflow.c   |  21 ++
> >   northd/ovn-northd.c  | 272 ++++++++++++++----------
> >   northd/ovn_northd.dl | 495 +++++++++++++++++++++++++------------------
> >   ovn-sb.ovsschema     |   7 +-
> >   ovn-sb.xml           |  23 ++
> >   tests/ovn-northd.at  |  23 +-
> >   6 files changed, 520 insertions(+), 321 deletions(-)
> >
>


More information about the dev mailing list