Re: [ovs-dev] [PATCH v2 ovn 00/10] ovn-controller: Make lflow cache size configurable.

2021-02-09 Thread Dumitru Ceara

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.

2021-02-08 Thread Mark Michelson

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.

2021-02-04 Thread Dumitru Ceara
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