[ovs-dev] [patch v1 0/5] conntrack: Optimize and refactor.

Darrell Ball dlu998 at gmail.com
Tue Nov 27 23:30:27 UTC 2018


Patch 1 is not an optimization per se, but aimed at eliminating
the exporting of internal conntrack infra.

Patch 2 Add RCU support.  This is mainly done for performance 
reasons, but also simplifies the code.

Patch 3 Moves the conntrack entry locking to the L4 protocol
specific layers.  This is done for performance reasons and some
memory savings.

Patch 4 is mainly for memory savings for the most common cases, but
also increases performance for large number of flows (> 100000).

Patch 5 is a performance optimization for recirculations.

This series starts at v1 although some parts were sent out earlier
as a single patch; that is because the earlier series stated that
the patch would later be split out and added to, hence that is an
implied RFC.  Also, this series brings in a couple new improvements
not in the original patch.

These patches presently include an updated version of the changes
for this series
https://patchwork.ozlabs.org/project/openvswitch/list/?series=78059
but those parts (approx 20 lines) will be later dropped from this
series and handled with the above mentioned series.

Darrell Ball (5):
  conntrack: Stop exporting internal datastructures.
  conntrack: Add rcu support.
  conntrack: Make 'conn' lock protocol specific.
  conntrack: Memory savings.
  conntrack: Optimize recirculations.

 lib/conntrack-icmp.c    |   23 +-
 lib/conntrack-other.c   |   13 +-
 lib/conntrack-private.h |  110 ++--
 lib/conntrack-tcp.c     |   64 ++-
 lib/conntrack.c         | 1375 ++++++++++++++++++++++-------------------------
 lib/conntrack.h         |  212 +-------
 lib/dpif-netdev.c       |   51 +-
 lib/packets.h           |    4 +
 tests/test-conntrack.c  |   26 +-
 9 files changed, 829 insertions(+), 1049 deletions(-)

-- 
1.9.1



More information about the dev mailing list