src/dpdk/drivers/net/ark/ark_ethdev_rx.c
static void
eth_ark_rx_queue_drain(struct ark_rx_queue *queue)
{
	register uint32_t cons_index;
	struct rte_mbuf *mbuf;

	cons_index = queue->cons_index;

	/* NOT performance optimized, since this is a one-shot call */
	while ((cons_index ^ queue->prod_index) & queue->queue_mask) {
		mbuf = queue->reserve_q[cons_index & queue->queue_mask];
		rte_pktmbuf_free(mbuf);
		cons_index++;
		eth_ark_rx_update_cons_index(queue, cons_index);
	}
}
/* Drain the internal queue allowing hw to clear out. */
Drain the internal queue allowing hw to clear out.
Drain the internal queue allowing hw to clear out .
static void
eth_ark_rx_queue_drain(struct ark_rx_queue *queue)
{
	register uint32_t cons_index;
	struct rte_mbuf *mbuf;
	cons_index = queue->cons_index;
	while ((cons_index ^ queue->prod_index) & queue->queue_mask) {
		mbuf = queue->reserve_q[cons_index & queue->queue_mask];
		rte_pktmbuf_free(mbuf);
		cons_index++;
		eth_ark_rx_update_cons_index(queue, cons_index);
	}
}
static void eth_ark_rx_queue_drain ( struct ark_rx_queue * queue ) { register uint32_t cons_index ; struct rte_mbuf * mbuf ; cons_index = queue -> cons_index ; while ( ( cons_index ^ queue -> prod_index ) & queue -> queue_mask ) { mbuf = queue -> reserve_q [ cons_index & queue -> queue_mask ] ; rte_pktmbuf_free ( mbuf ) ; cons_index ++ ; eth_ark_rx_update_cons_index ( queue , cons_index ) ; } }
Drain the internal queue allowing hw to clear out.
Drain the internal queue allowing hw to clear out .
/* NOT performance optimized, since this is a one-shot call */