[ovs-dev] [PATCH ovn v2 0/9] Incremental processing for flow installation.
hzhou at ovn.org
Wed Sep 9 21:13:04 UTC 2020
On Wed, Sep 9, 2020 at 6:39 AM Mark Michelson <mmichels at redhat.com> wrote:
> Thanks for addressing my concerns on patch 9.
> Acked-by: Mark Michelson <mmichels at redhat.com>
> Warning: I'm also ACKing Numan's patch series that also adds some
> lflow-level caching (but he is caching expressions). So whoever loses
> this merge race may have some work to do in order to apply their patch
Thanks Mark for the review, and the warning :).
I applied the series to master, and also the first 4 patches to
branch-20.06 and patch 1,2,4 to branch-20.03, to fix the conjunction flow
bug in those branches.
> On 9/7/20 2:45 AM, Han Zhou wrote:
> > Incremental processing has been implementation in ovn-controller, but
> > still doing full comparison between desired flow table and installed
> > every time to figure out the changes need to be pushed to OVS. This
> > mainly to utilize the incremental processing information to figure out
> > changes to OVS without full table scanning, to further reduce CPU of
> > ovn-controller.
> > In ovn-scale-test with 3000 HVs and 30k lports, the end-to-end latency
> > the moment a lflow is updated in SB DB and the moment when all the 3K
> > complete OVS flow updating has reduced around 60% (from 1s to 400ms).
> > report also shows ~40% of CPU reduced in ovn-controller.
> > Another important change of this series is the fix of the conjunction
> > problem.
> > v1 -> v2:
> > - Addressed Mark's comments for defining different data types for
> > and installed flows, and related refactoring. (patch 6/9)
> > - Updated comments for the cross reference structures between desired
> > SB UUIDs with a diagram to help understanding. (patch 4/9)
> > Han Zhou (9):
> > ofctrl: change ofctrl_dup_flow to module internal function
> > ovn.at: Fix AT for conjunction case.
> > lflow.c: No need to remove flows for adding new datapath.
> > ovn-controller: Fix conjunction handling with incremental processing.
> > ovn.at: Add test case for duplicated flow handling.
> > ofctrl.c: Maintain references between installed flows and desired
> > ofctrl.c: Refactor - move openflow msg construction to functions.
> > ofctrl: Incremental processing for flow installation by tracking.
> > ofctrl.c: Merge opposite changes of tracked flows before installing.
> > controller/lflow.c | 106 ++++--
> > controller/ofctrl.c | 1041
> > controller/ofctrl.h | 39 +-
> > tests/ovn.at | 225 ++++++++++-
> > 4 files changed, 1164 insertions(+), 247 deletions(-)
More information about the dev