[dpdk-dev] Mbuf leak issue with IXGBE in vector mod

Ori Zakin ori at drivenets.com
Thu Aug 4 17:37:37 CEST 2016


Hi,


  1.  When calling rte_eth_dev_stop mbuf pool is depleted.
There appears to be a race condition that occurs when RTE_IXGBE_INC_VECTOR is defined:
ixgbe_reset_rx_queue(struct ixgbe_adapter *adapter, struct ixgbe_rx_queue *rxq)
{
…….

#ifdef RTE_IXGBE_INC_VECTOR
rxq->rxrearm_start = 0;
>>>>>>>>sleep here appears to solve
rxq->rxrearm_nb = 0;
#endif


Behaviour also described here:
http://dpdk.org/ml/archives/users/2016-April/000488.html


  2.  Steps to recreate issue:
     *   rte_mempool_free_count
     *   rte_eth_dev_stop
     *   rte_mempool_free_count - should see a spike in allocated mbufs from mempool.

  3.  2 workarounds that appear to work:
     *   Set CONFIG_RTE_IXGBE_INC_VECTOR=n.
     *   Add sleep in ixgbe_reset_rx_queue


Regards.
Ori Zakin


More information about the dev mailing list