From a2248fd05dc3eda89f5b98f5dd07eb95cf24d333 Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Tue, 19 Mar 2019 14:58:39 -0700 Subject: [PATCH] env: add flag RING_F_EXACT_SZ to spdk_ring_create This flag is needed to enssure that we can access all of the elements in the ring. Otherwise we end up being able to access n-1 elements. Change-Id: I7a9216e69c0599c662e96ddbf6ee79383b6d20dd Signed-off-by: Seth Howell Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/448489 Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Darek Stojaczyk Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- lib/env_dpdk/env.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/env_dpdk/env.c b/lib/env_dpdk/env.c index ad4fef5ee..073881583 100644 --- a/lib/env_dpdk/env.c +++ b/lib/env_dpdk/env.c @@ -358,17 +358,17 @@ spdk_ring_create(enum spdk_ring_type type, size_t count, int socket_id) { char ring_name[64]; static uint32_t ring_num = 0; - unsigned flags = 0; + unsigned flags = RING_F_EXACT_SZ; switch (type) { case SPDK_RING_TYPE_SP_SC: - flags = RING_F_SP_ENQ | RING_F_SC_DEQ; + flags |= RING_F_SP_ENQ | RING_F_SC_DEQ; break; case SPDK_RING_TYPE_MP_SC: - flags = RING_F_SC_DEQ; + flags |= RING_F_SC_DEQ; break; case SPDK_RING_TYPE_MP_MC: - flags = 0; + flags |= 0; break; default: return NULL;