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 <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/448489 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
0cb3b8550a
commit
a2248fd05d
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user