[dpdk-dev] [PATCH 0/2] eal/malloc: fix wrong heap initialization over multiple memsegs

Thomas Monjalon thomas at monjalon.net
Fri May 18 15:10:00 CEST 2018


Hi,

What is the status of DPDK 18.05 on IBM POWER?

This patch suggests there are some issues but there were no news for
two weeks, after comments from Anatoly.
Are we going to release a DPDK which does not work well on POWER?


03/05/2018 12:11, Gowrishankar:
> When there are multiple memsegs (each per hugepage), there are couple of
> problems observed:
> 
>   1. Same heap size index is always chosen to add new malloc_elems 
>      again and again, while there is an increasing heap size actually.
>      Hence, when there is memalloc request for size *more than* 
>      elem->size available in free heap, malloc_heap_alloc would fail.
>      In elem_start_pt(), we are actually relying on elem->size at the
>      best, for finding suitable element, which is lower than requested
>      size, in this case.
> 
>      Hence, patch 1 in this series addresses this by merging
>      contiguous malloc_elem (by virt addresses), so that there is 
>      better chance of finding suitable elem for the requested size.
>      
>   2. Even after resizing the heap malloc_elems, its free_head index
>      is still the same, as the memsegs are just added in every malloc_
>      elem. If larger memory is requested in rte_malloc, in a way
>      that, heap index of requested size is beyond the slot where the
>      entire heap is available, malloc_heap_alloc would fail.
>      Because, at the time of heap init, only the lower index is
>      always chosen to fill up memsegs. Hence, patch 2 addresses this
>      by moving the list of malloc_elems into new slot in heap, as its
>      size grows.
>      
> We encountered these situations as we run ip_reassembly example app,
> when multiple segments are created in VA (when overcommit hugepages set
> in powerpc arch).
> 
> These problems are found only in the current releases (until v18.05
> which carries new implementation for dynamic memory allocation).
> These patches are tested with unit tests as well as some of the 
> examples apps. I request more testing if possible, on other archs
> as these are problems in available LTS codes as well.
> 
> Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m at linux.vnet.ibm.com>





More information about the dev mailing list