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

Wiles, Roger Keith keith.wiles at windriver.com
Sat Sep 27 20:41:41 CEST 2014


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



More information about the dev mailing list