[ovs-dev] [PATCH v2 ovn 00/10] ovn-controller: Make lflow cache size configurable.
Mark Michelson
mmichels at redhat.com
Mon Feb 8 22:09:24 UTC 2021
Hi Dumitru,
Thanks for the v2. I had one small nit on patch 6. Aside from that (and
Numan's comments), looks good.
Acked-by: Mark Michelson <mmichels at redhat.com>
On 2/4/21 8:24 AM, Dumitru Ceara wrote:
> Scale tests have identified the lflow cache to be one of the main memory
> consumers in ovn-controller. This series refactors the lflow cache code
> and adds configuration knobs to limit the size (in lines and/or memory)
> of the cache.
>
> Patches 1 and 6 fix issues with the already existing lflow cache code.
> Even though patch 6 is a bug fix, it's easier to add it later in the
> series because it uses the new lflow cache statistics (from patch 4)
> to add a unit test that exercises the buggy scenario.
>
> Changes in v2:
> - Added two bug fixes for already existing problems (patches 1 and 6).
> - Added unit tests as requested by Mark.
> - Added support for evicting "less important" entries when the cache
> limit is reached.
> - Improved cache entries memory accounting.
>
> Dumitru Ceara (10):
> lflow: Fix cache update when I-P engine aborts.
> lflow: Refactor convert_match_to_expr() to explicitly consume prereqs.
> lflow-cache: Move the lflow cache to its own module.
> lflow-cache: Add lflow-cache/show-stats command.
> lflow-cache: Add unit tests.
> lflow: Do not cache non-conjunctive flows that use address sets/portgroups.
> lflow-cache: Add coverage counters.
> lflow-cache: Reclaim heap memory after cache flush.
> lflow-cache: Make maximum number of cache entries configurable.
> lflow-cache: Make max cache memory usage configurable.
>
>
> NEWS | 5
> configure.ac | 1
> controller/automake.mk | 2
> controller/chassis.c | 44 ++++
> controller/lflow-cache.c | 363 +++++++++++++++++++++++++++++++++++
> controller/lflow-cache.h | 89 +++++++++
> controller/lflow.c | 376 +++++++++++++-----------------------
> controller/lflow.h | 10 -
> controller/ovn-controller.8.xml | 23 ++
> controller/ovn-controller.c | 114 ++++++++---
> controller/test-lflow-cache.c | 239 +++++++++++++++++++++++
> controller/test-ofctrl-seqno.c | 18 --
> include/ovn/expr.h | 3
> lib/expr.c | 43 ++++
> tests/automake.mk | 8 +
> tests/ovn-lflow-cache.at | 405 +++++++++++++++++++++++++++++++++++++++
> tests/ovn.at | 82 ++++++++
> tests/test-utils.c | 49 +++++
> tests/test-utils.h | 26 +++
> tests/testsuite.at | 1
> 20 files changed, 1593 insertions(+), 308 deletions(-)
> create mode 100644 controller/lflow-cache.c
> create mode 100644 controller/lflow-cache.h
> create mode 100644 controller/test-lflow-cache.c
> create mode 100644 tests/ovn-lflow-cache.at
> create mode 100644 tests/test-utils.c
> create mode 100644 tests/test-utils.h
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
More information about the dev
mailing list