Hi David, While testing Lazaros' patch, I found an issue in this series. I the test application is started with --no-huge, it does not work, the mempool_autotest does not work. Please find the exaplanation below:
On 06/16/2016 02:30 PM, David Hunt wrote: > @@ -386,9 +352,9 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char > *vaddr, > int ret; > > /* create the internal ring if not already done */ > - if ((mp->flags & MEMPOOL_F_RING_CREATED) == 0) { > - ret = rte_mempool_ring_create(mp); > - if (ret < 0) > + if ((mp->flags & MEMPOOL_F_POOL_CREATED) == 0) { > + ret = rte_mempool_ops_alloc(mp); > + if (ret != 0) > return ret; > } > Previously, the function rte_mempool_ring_create(mp) was setting the MEMPOOL_F_RING_CREATED flag. Now it is not set. I think we could set it just after the "return ret". When started with --no-huge, the mempool memory is allocated in several chunks (one per page), so it tries to allocate the ring for each chunk. Regards, Olivier