Commit a2248fd0 authored by Seth Howell's avatar Seth Howell Committed by Darek Stojaczyk
Browse files

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: default avatarSeth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/448489


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 0cb3b855
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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;