src/dpdk/drivers/net/iavf/iavf_rxtx.c
static inline void
iavf_update_rx_tail(struct iavf_rx_queue *rxq, uint16_t nb_hold, uint16_t rx_id)
{
	nb_hold = (uint16_t)(nb_hold + rxq->nb_rx_hold);

	if (nb_hold > rxq->rx_free_thresh) {
		PMD_RX_LOG(DEBUG,
			   "port_id=%u queue_id=%u rx_tail=%u nb_hold=%u",
			   rxq->port_id, rxq->queue_id, rx_id, nb_hold);
		rx_id = (uint16_t)((rx_id == 0) ?
			(rxq->nb_rx_desc - 1) : (rx_id - 1));
		IAVF_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
		nb_hold = 0;
	}
	rxq->nb_rx_hold = nb_hold;
}
/* If the number of free RX descriptors is greater than the RX free
 * threshold of the queue, advance the Receive Descriptor Tail (RDT)
 * register. Update the RDT with the value of the last processed RX
 * descriptor minus 1, to guarantee that the RDT register is never
 * equal to the RDH register, which creates a "full" ring situation
 * from the hardware point of view.
 */
If the number of free RX descriptors is greater than the RX free
threshold of the queue, advance the Receive Descriptor Tail (RDT)
register. Update the RDT with the value of the last processed RX
descriptor minus 1, to guarantee that the RDT register is never
equal to the RDH register, which creates a "full" ring situation
from the hardware point of view.
If the number of free RX descriptors is greater than the RX free threshold of the queue advance the Receive Descriptor Tail ( RDT ) register . Update the RDT with the value of the last processed RX descriptor minus 1 to guarantee that the RDT register is never equal to the RDH register which creates a " full " ring situation from the hardware point of view .
static inline void
iavf_update_rx_tail(struct iavf_rx_queue *rxq, uint16_t nb_hold, uint16_t rx_id)
{
	nb_hold = (uint16_t)(nb_hold + rxq->nb_rx_hold);
	if (nb_hold > rxq->rx_free_thresh) {
		PMD_RX_LOG(DEBUG,
			   "port_id=%u queue_id=%u rx_tail=%u nb_hold=%u",
			   rxq->port_id, rxq->queue_id, rx_id, nb_hold);
		rx_id = (uint16_t)((rx_id == 0) ?
			(rxq->nb_rx_desc - 1) : (rx_id - 1));
		IAVF_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
		nb_hold = 0;
	}
	rxq->nb_rx_hold = nb_hold;
}
static inline void iavf_update_rx_tail ( struct iavf_rx_queue * rxq , uint16_t nb_hold , uint16_t rx_id ) { nb_hold = ( uint16_t ) ( nb_hold + rxq -> nb_rx_hold ) ; if ( nb_hold > rxq -> rx_free_thresh ) { PMD_RX_LOG ( DEBUG , " " , rxq -> port_id , rxq -> queue_id , rx_id , nb_hold ) ; rx_id = ( uint16_t ) ( ( rx_id == 0 ) ? ( rxq -> nb_rx_desc - 1 ) : ( rx_id - 1 ) ) ; IAVF_PCI_REG_WRITE ( rxq -> qrx_tail , rx_id ) ; nb_hold = 0 ; } rxq -> nb_rx_hold = nb_hold ; }
If the number of free RX descriptors is greater than the RX free
 threshold of the queue, advance the Receive Descriptor Tail (RDT)
 register.
If the number of free RX descriptors is greater than the RX free threshold of the queue advance the Receive Descriptor Tail ( RDT ) register .