ip: reassembly - increasing the nbuckets for reass 47/36147/2
authorVijayabhaskar Katamreddy <vkatamre@cisco.com>
Mon, 16 May 2022 22:18:37 +0000 (22:18 +0000)
committerOle Tr�an <otroan@employees.org>
Wed, 18 May 2022 07:47:39 +0000 (07:47 +0000)
Type: fix

as number of reass contexts increasing based on workers, increasing the number of nbuckets for bihash

Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: I83d061a709ecb8845ce745b18d03fdefc795787f

src/vnet/ip/reass/ip4_full_reass.c
src/vnet/ip/reass/ip6_full_reass.c

index f0e1753..2493fae 100644 (file)
@@ -1481,7 +1481,9 @@ ip4_full_reass_get_nbuckets ()
   u32 nbuckets;
   u8 i;
 
-  nbuckets = (u32) (rm->max_reass_n / IP4_REASS_HT_LOAD_FACTOR);
+  /* need more mem with more workers */
+  nbuckets = (u32) (rm->max_reass_n * (vlib_num_workers () + 1) /
+                   IP4_REASS_HT_LOAD_FACTOR);
 
   for (i = 0; i < 31; i++)
     if ((1 << i) >= nbuckets)
index 4a6c6a1..ff877ca 100644 (file)
@@ -1410,7 +1410,9 @@ ip6_full_reass_get_nbuckets ()
   u32 nbuckets;
   u8 i;
 
-  nbuckets = (u32) (rm->max_reass_n / IP6_FULL_REASS_HT_LOAD_FACTOR);
+  /* need more mem with more workers */
+  nbuckets = (u32) (rm->max_reass_n * (vlib_num_workers () + 1) /
+                   IP6_FULL_REASS_HT_LOAD_FACTOR);
 
   for (i = 0; i < 31; i++)
     if ((1 << i) >= nbuckets)