[dpdk-dev] [PATCH] Function __mempool_get_bulk() returns wrong count.

Neil Horman nhorman at tuxdriver.com
Sun Sep 28 02:38:30 CEST 2014


On Sat, Sep 27, 2014 at 06:41:41PM +0000, Wiles, Roger Keith wrote:
> 
> When __mempool_get_bulk() grabs entries from the cache it
> returns zero instead of the number of entries obtained. Plus
> the stats were increased by the wrong count of objects.
> 
> Signed-off-by: Keith Wiles <keith.wiles at windriver.com>
> ---
>  lib/librte_mempool/rte_mempool.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
> index 299d4d7..6750e78 100644
> --- a/lib/librte_mempool/rte_mempool.h
> +++ b/lib/librte_mempool/rte_mempool.h
> @@ -988,9 +988,9 @@ __mempool_get_bulk(struct rte_mempool *mp, void **obj_table,
>  
>         cache->len -= n;
>  
> -       __MEMPOOL_STAT_ADD(mp, get_success, n_orig);
> +       __MEMPOOL_STAT_ADD(mp, get_success, n);
>  
> -       return 0;
> +       return n;
>  
>  ring_dequeue:
>  #endif /* RTE_MEMPOOL_CACHE_MAX_SIZE > 0 */
> @@ -1004,7 +1004,7 @@ ring_dequeue:
>         if (ret < 0)
>                 __MEMPOOL_STAT_ADD(mp, get_fail, n_orig);
>         else
> -               __MEMPOOL_STAT_ADD(mp, get_success, n_orig);
> +               __MEMPOOL_STAT_ADD(mp, get_success, ret);
>  
>         return ret;
>  }
> -- 
> 2.1.0Keith Wiles, Principal Technologist with CTO office, Wind River mobile 972-213-5533
> 
> 
Acked-by: Neil Horman <nhorman at tuxdriver.com>


More information about the dev mailing list