Re: [ovs-dev] [PATCH v2 ovn 00/10] ovn-controller: Make lflow cache size configurable.
On 2/8/21 11:09 PM, Mark Michelson wrote: 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 Hi Mark, Numan, Thanks for the reviews! I sent a v3 with all the suggested changes. Regards, Dumitru ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2 ovn 00/10] ovn-controller: Make lflow cache size configurable.
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 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 d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
[ovs-dev] [PATCH v2 ovn 00/10] ovn-controller: Make lflow cache size configurable.
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 d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev