There is no reason to prevent ring from being larger than 0x0FFFFFFF. Increase the maximum size to 0x7FFFFFFF, which is the maximum possible without changing the code and the structure definition (size is stored on a uint32_t).
Link: http://dpdk.org/ml/archives/dev/2017-September/074701.html Suggested-by: Venkatesh Nuthula <venki...@gmail.com> Signed-off-by: Olivier Matz <olivier.m...@6wind.com> Reviewed-by: Anatoly Burakov <anatoly.bura...@intel.com> --- v1->v2 - fix checkpatch issues lib/librte_ring/rte_ring.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_ring/rte_ring.h index 8f5a4937f..5e9b3b7b4 100644 --- a/lib/librte_ring/rte_ring.h +++ b/lib/librte_ring/rte_ring.h @@ -174,7 +174,7 @@ struct rte_ring { * ring space will be wasted. */ #define RING_F_EXACT_SZ 0x0004 -#define RTE_RING_SZ_MASK (unsigned)(0x0fffffff) /**< Ring size mask */ +#define RTE_RING_SZ_MASK (0x7fffffffU) /**< Ring size mask */ /* @internal defines for passing to the enqueue dequeue worker functions */ #define __IS_SP 1 -- 2.11.0