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

Reply via email to