Patch 1 just adds a performance test tool that is used throughout the series.
Patches 2+3 optimize the cases of non-found connections. This is a common case in combination with OVN for the reverse SNAT and reverse DNAT stages. The performance test tool is not covering this specific case. They where only tested on a real world setup. Patch 5-8 optimizes all modifying operations by splitting the locks for insert and deletions per zone. (In v3 this was a single patch) Patches 9-13 optimize connection cleaning. The goal is to have a predictable performance of the conntrack cleaning process independent if there is only a single gigantic zone in use or if there are a lot of small ones. The final patch adds a news entry for the changes. It also contains the performance improvements seen over the entire series. Felix Huettner (14): test-conntrack: Benchmark for conntrack on tcp. conntrack: Do not always take insert locks. conntrack: Use cmap for expectations. conntrack: Add more coverage values for conntrack. conntrack: Extract ct zone to separate struct. conntrack: Add per zone lock. conntrack: Move zone limits to per zone struct. conntrack: Remove exp_lists for connection cleaning. conntrack: Clean zones partially. cmap: Support switching between cursor and position. conntrack: Use cmap cursor for iteration. conntrack: Batch conn deletions in a single zone. conntrack: Immediately continue cleaning under load. NEWS: Add news about conntrack improvements. NEWS | 3 + lib/cmap.c | 62 +++ lib/cmap.h | 30 ++ lib/conntrack-private.h | 58 ++- lib/conntrack.c | 841 ++++++++++++++++++++-------------------- lib/conntrack.h | 5 +- tests/library.at | 2 +- tests/test-cmap.c | 115 +++++- tests/test-conntrack.c | 285 ++++++++++++++ 9 files changed, 931 insertions(+), 470 deletions(-) base-commit: b15de27f6467824561d65d0b0f10c881a2becddd -- 2.43.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
