When heap initializes, we need to add already allocated segments
onto the heap. However, in doing that, we never increased total
heap size. Fix it by adding segment length to total heap length
when initializing the heap.
Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists")
Cc: [email protected]
Signed-off-by: Anatoly Burakov <[email protected]>
---
lib/librte_eal/common/malloc_heap.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/librte_eal/common/malloc_heap.c
b/lib/librte_eal/common/malloc_heap.c
index 590e9e3..bc96835 100644
--- a/lib/librte_eal/common/malloc_heap.c
+++ b/lib/librte_eal/common/malloc_heap.c
@@ -106,6 +106,8 @@ malloc_add_seg(const struct rte_memseg_list *msl,
malloc_heap_add_memory(heap, found_msl, ms->addr, len);
+ heap->total_size += len;
+
RTE_LOG(DEBUG, EAL, "Added %zuM to heap on socket %i\n", len >> 20,
msl->socket_id);
return 0;
--
2.7.4