This series aims to address the issues present in the previous versions.
The end result is a different approach, using different data structure,
but it solves the multiple issues observed in v4 and the problems that
affected the baseline.

The tests (similar to the ones previously performed by Robin [0]) 
show performance comparable with the v4 both in terms of cps
and throughput.

[0] https://mail.openvswitch.org/pipermail/ovs-dev/2022-June/394711.html

v7:

Patch 3:
- some minor clean up (comments, variable renamed) and code moved to 
  increase a bit the readability.
- next_list turned to non atomic as keeping it atomic was not 
  needed (always accessed under ct_lock)
- moved zone_limit_lookup() out of ct_lock (as per wenxu's feedback)

v6:

- removed lock on a connection (unneeded)
- minor rename and added two hunks slipped away from the refresh

Gaetan Rivet (4):
      conntrack: Use a cmap to store zone limits
      conntrack-tp: Use a cmap to store timeout policies
      conntrack: Replace timeout based expiration lists with rculists.
      conntrack: Use an atomic conn expiration value

Ilya Maximets (1):
      conntrack: Check for expiration before comparing the keys during the 
lookup


 lib/conntrack-private.h |  73 +++++----
 lib/conntrack-tp.c      |  98 ++++--------
 lib/conntrack.c         | 319 ++++++++++++++++++++++------------------
 lib/conntrack.h         |   4 +-
 lib/dpif-netdev.c       |   5 +-
 5 files changed, 251 insertions(+), 248 deletions(-)

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

Reply via email to