The minimum free packet threshold (tx_free_thresh) and the minimum RS bit threshold (tx_rs_thresh) both have a default value of 32. Therefore, the default minimum number of ring descriptors value is 64.
For reference, see "Configuration of Transmit Queues" in doc/guides/prog_guide/ethdev/ethdev.rst Fixes: dee5f1fd5fc7 ("ixgbe: get queue info and descriptor limits") Cc: sta...@dpdk.org Signed-off-by: Mingjin Ye <mingjinx...@intel.com> --- v2: Change doc. --- doc/guides/nics/ixgbe.rst | 5 +++-- drivers/net/intel/ixgbe/ixgbe_rxtx.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst index c5c6a6c34b..aaed324e15 100644 --- a/doc/guides/nics/ixgbe.rst +++ b/doc/guides/nics/ixgbe.rst @@ -68,11 +68,12 @@ Ensure that the following pre-conditions are satisfied: * (rxq->nb_rx_desc % rxq->rx_free_thresh) == 0 -* rxq->nb_rx_desc < (IXGBE_MAX_RING_DESC - RTE_PMD_IXGBE_RX_MAX_BURST) +* rxq->nb_rx_desc >= IXGBE_MIN_RING_DESC + +* rxq->nb_rx_desc <= IXGBE_MAX_RING_DESC These conditions are checked in the code. -Scattered packets are not supported in this mode. If an incoming packet is greater than the maximum acceptable length of one "mbuf" data size (by default, the size is 2 KB), vPMD for RX would be disabled. diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx.h b/drivers/net/intel/ixgbe/ixgbe_rxtx.h index 278f665108..54569c7ade 100644 --- a/drivers/net/intel/ixgbe/ixgbe_rxtx.h +++ b/drivers/net/intel/ixgbe/ixgbe_rxtx.h @@ -26,7 +26,7 @@ * descriptors should meet the following condition: * (num_ring_desc * sizeof(rx/tx descriptor)) % 128 == 0 */ -#define IXGBE_MIN_RING_DESC 32 +#define IXGBE_MIN_RING_DESC 64 #define IXGBE_MAX_RING_DESC 8192 #define RTE_PMD_IXGBE_TX_MAX_BURST 32 -- 2.25.1