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