To save some emails,

For all patches except patch 7,

Acked-by: Mark Michelson <mmich...@redhat.com>

On 4/28/25 05:34, Ales Musil via dev wrote:
This helps with code complexity to some extent as there were few
places where we would "mimic" vector via regular array with
x2nrealloc() calls.

It can also help to minimize small sllocations in some cases,
currently when there was array like structure of unknown size list
would be passed around and each struct in that list would be
allocated separately. That could to struct definitions that would
hold a single pointer or other struct + the ovs_list struct. With
vector the inner struct/pointer can be insterted dirrectly into
vector without additional small allocations. The other side of the
approach is cache consistenty, the vector is continous block of
memory which is way more cache freindly during iteration.

Ales Musil (9):
   vec: Add new data type called vector.
   utilities: Replace manual x2nrealloc with vector.
   northd: Replace manual x2nrealloc with vector.
   controller: Replace manual x2nrealloc with vector.
   ic: Replace manual x2nrealloc with vector.
   lib: Replace manual x2nrealloc with vector.
   mac-cache: Use vector instead of list.
   controller: Use vector instead of list.
   northd: Use vector instead of list.

  controller/binding.c                |  74 +++---
  controller/lflow.c                  |  17 +-
  controller/local_data.c             |  62 +++--
  controller/local_data.h             |  15 +-
  controller/mac-cache.c              | 190 ++++++--------
  controller/mac-cache.h              |  41 +--
  controller/mirror.c                 |  60 ++---
  controller/ofctrl-seqno.c           | 193 +++++++-------
  controller/ofctrl-seqno.h           |  11 +-
  controller/ovn-controller.c         |  30 +--
  controller/physical.c               |  97 +++----
  controller/pinctrl.c                |  25 +-
  controller/route-exchange-netlink.c |  33 ++-
  controller/route-exchange-netlink.h |   6 +-
  controller/route-exchange.c         |  10 +-
  controller/route.c                  |   8 +-
  controller/statctrl.c               |  53 ++--
  controller/test-lflow-cache.c       |  27 +-
  controller/test-ofctrl-seqno.c      |  27 +-
  ic/ovn-ic.c                         |  26 +-
  include/ovn/expr.h                  |   4 +-
  lib/actions.c                       | 115 ++++-----
  lib/automake.mk                     |   2 +
  lib/expr.c                          |  56 ++---
  lib/inc-proc-eng.c                  | 120 ++++-----
  lib/lb.c                            |  49 ++--
  lib/lb.h                            |   4 +-
  lib/vec.c                           | 195 +++++++++++++++
  lib/vec.h                           | 175 +++++++++++++
  northd/en-advertised-route-sync.c   |  41 ++-
  northd/en-group-ecmp-route.c        |  38 ++-
  northd/en-group-ecmp-route.h        |   4 +-
  northd/en-lr-nat.c                  |  17 +-
  northd/en-multicast.c               |  47 ++--
  northd/en-multicast.h               |   3 +-
  northd/lb.c                         |   7 +-
  northd/northd.c                     | 376 ++++++++++++++--------------
  northd/northd.h                     |  19 +-
  tests/automake.mk                   |   1 +
  tests/ovn.at                        |  14 ++
  tests/test-ovn.c                    |   3 +-
  tests/test-vector.c                 | 316 +++++++++++++++++++++++
  utilities/ovn-nbctl.c               | 105 +++-----
  utilities/ovn-sbctl.c               |  52 ++--
  utilities/ovn-trace.c               |  23 +-
  45 files changed, 1618 insertions(+), 1173 deletions(-)
  create mode 100644 lib/vec.c
  create mode 100644 lib/vec.h
  create mode 100644 tests/test-vector.c


_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to