[ovs-dev] [OVN Patch v8 2/3] northd: Resize the hash to correct parameters after build
anton.ivanov at cambridgegreys.com
anton.ivanov at cambridgegreys.com
Wed Sep 15 12:43:39 UTC 2021
From: Anton Ivanov <anton.ivanov at cambridgegreys.com>
Parallel builds may result in suboptimal hash bucket sizing.
In the absense of dp-groups this does not matter as the hash
is purely storage and not used for lookups during the build.
Such a hash needs to be resized to a correct size at the end
of the build to ensure that any lookups during the lflow
reconcilliation phase are done as fast as possible.
Signed-off-by: Anton Ivanov <anton.ivanov at cambridgegreys.com>
---
northd/ovn-northd.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c
index 3113fafc7..ed231510e 100644
--- a/northd/ovn-northd.c
+++ b/northd/ovn-northd.c
@@ -13178,6 +13178,11 @@ build_lflows(struct northd_context *ctx, struct hmap *datapaths,
igmp_groups, meter_groups, lbs,
bfd_connections);
+ /* Parallel build may result in a suboptimal hash. Resize the
+ * hash to a correct size before doing lookups */
+
+ hmap_expand(&lflows);
+
if (hmap_count(&lflows) > max_seen_lflow_size) {
max_seen_lflow_size = hmap_count(&lflows);
}
--
2.20.1
More information about the dev
mailing list