On 7/11/22 18:54, Paolo Valerio wrote: > 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(-) >
Userspace conntrack still needs a lot of work, but this change looks like a step in a right direction. Beside better scalability, this change also shows a good single thread performance improvement in simple benchmarks that I checked. It was a very long journey... Applied now. Thanks! Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
