malloc: check size hint when reserving the biggest element
RTE_MEMZONE_SIZE_HINT_ONLY wasn't checked in any way, causing size hints to be parsed as hard requirements. This resulted in some allocations being failed prematurely. Fixes: 68b6092bd3c7 ("malloc: allow reserving biggest element") Cc: stable@dpdk.org Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
This commit is contained in:
parent
e4f2c1421d
commit
c7810c319d
@ -192,7 +192,9 @@ find_biggest_element(struct malloc_heap *heap, size_t *size,
|
||||
for (elem = LIST_FIRST(&heap->free_head[idx]);
|
||||
!!elem; elem = LIST_NEXT(elem, free_list)) {
|
||||
size_t cur_size;
|
||||
if (!check_hugepage_sz(flags, elem->msl->page_sz))
|
||||
if ((flags & RTE_MEMZONE_SIZE_HINT_ONLY) == 0 &&
|
||||
!check_hugepage_sz(flags,
|
||||
elem->msl->page_sz))
|
||||
continue;
|
||||
if (contig) {
|
||||
cur_size =
|
||||
|
Loading…
x
Reference in New Issue
Block a user