rte_ring_create expects the size of the ring to
be a power of 2. REFCNT_RING_SIZE value is not
power of 2 in-case if RTE_MAX_LCORE == 96.
Fix it by aligning the size to next power of 2 value.
Fixes: af75078f ("first public release")

Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
---
 app/test/test_mbuf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c
index 684ad80..c0823ea 100644
--- a/app/test/test_mbuf.c
+++ b/app/test/test_mbuf.c
@@ -809,7 +809,7 @@ test_refcnt_mbuf(void)

        if (refcnt_mbuf_ring == NULL &&
                        (refcnt_mbuf_ring = rte_ring_create("refcnt_mbuf_ring",
-                       REFCNT_RING_SIZE, SOCKET_ID_ANY,
+                       rte_align32pow2(REFCNT_RING_SIZE), SOCKET_ID_ANY,
                        RING_F_SP_ENQ)) == NULL) {
                printf("%s: cannot allocate " MAKE_STRING(refcnt_mbuf_ring)
                    "\n", __func__);
-- 
2.5.5

Reply via email to