svm: init chunk rb tree indices in fifo 72/29972/4
authorFlorin Coras <fcoras@cisco.com>
Tue, 17 Nov 2020 23:56:38 +0000 (15:56 -0800)
committerDave Barach <openvpp@barachs.net>
Thu, 19 Nov 2020 21:36:32 +0000 (21:36 +0000)
Type: improvement

Let fifo segment mainly deal with fifo and chunk allocations not
initialization.

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I1f1eb5a1423ba52cb950ae771641fd7eeff4e76c

src/svm/fifo_segment.c
src/svm/svm_fifo.c

index 473cdf3..9cbd720 100644 (file)
@@ -512,8 +512,6 @@ fsh_try_alloc_chunk_batch (fifo_segment_header_t * fsh,
     {
       c->start_byte = 0;
       c->length = rounded_data_size;
-      c->enq_rb_index = RBTREE_TNIL_INDEX;
-      c->deq_rb_index = RBTREE_TNIL_INDEX;
       c->next = head;
       head = c;
       cmem += sizeof (*c) + rounded_data_size;
@@ -708,8 +706,6 @@ fsh_slice_collect_chunks (fifo_segment_header_t * fsh,
       CLIB_MEM_UNPOISON (c, sizeof (*c));
       next = c->next;
       fl_index = fs_freelist_for_size (c->length);
-      c->enq_rb_index = RBTREE_TNIL_INDEX;
-      c->deq_rb_index = RBTREE_TNIL_INDEX;
       fss_chunk_free_list_push (fss, fl_index, c);
       n_collect += fs_freelist_index_to_size (fl_index);
       c = next;
index d49cbe2..d357eb6 100644 (file)
@@ -389,11 +389,13 @@ svm_fifo_init (svm_fifo_t * f, u32 size)
    */
   f->start_chunk->start_byte = 0;
   prev = f->start_chunk;
+  prev->enq_rb_index = prev->deq_rb_index = RBTREE_TNIL_INDEX;
   c = prev->next;
 
   while (c)
     {
       c->start_byte = prev->start_byte + prev->length;
+      c->enq_rb_index = c->deq_rb_index = RBTREE_TNIL_INDEX;
       prev = c;
       c = c->next;
     }