2021-10-20 00:05 (UTC+0530), Harman Kalra: [...] > static unsigned > check_hugepage_sz(unsigned flags, uint64_t hugepage_sz) > { > @@ -1328,6 +1330,7 @@ rte_eal_malloc_heap_init(void) > { > struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config; > unsigned int i; > + int ret; > const struct internal_config *internal_conf = > eal_get_internal_configuration(); > > @@ -1369,5 +1372,16 @@ rte_eal_malloc_heap_init(void) > return 0;
A secondary process exits here... > /* add all IOVA-contiguous areas to the heap */ > - return rte_memseg_contig_walk(malloc_add_seg, NULL); > + ret = rte_memseg_contig_walk(malloc_add_seg, NULL); > + > + if (ret == 0) > + malloc_ready = true; ...and never knows that malloc is ready. But malloc is always ready for a secondary process.