malloc: fix heap size not set on init
authorAnatoly Burakov <anatoly.burakov@intel.com>
Wed, 25 Apr 2018 13:42:55 +0000 (14:42 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 30 Apr 2018 13:33:49 +0000 (15:33 +0200)
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")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/common/malloc_heap.c

index 5cf7231..633e306 100644 (file)
@@ -107,6 +107,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;