Sent from my iPhone

> On Nov 7, 2018, at 2:36 AM, Jiang Huiyou <jhy19941...@hotmail.com> wrote:
> 
> Hi,
>     My user-space TCP/IP stack  works fine on DPDK 17.02, now I upgrade it to 
> 18.02. And then I use  wrk http benchmark to test my stack, it work well 
> fine, but after a while, it couldn't send packet.  I debug with gdb and find 
> the rte_eth_tx_burst always return 0, which means there is no available 
> transmit descriptor. And then I enable DPDK debug mode, the ixgbe_xmit_pkts 
> has been called to send packets (My NIC is Intel 82599ES 10G) and it called 
> ixgbe_xmit_cleanup to recycle  used transmit descriptor, but 
> ixgbe_xmit_cleanup always return -1. The relevant code is blew.
> 

Can you make sure the tx flush threshold?

Some of the rx/tx rings were increased and if you do not have enough transmit 
traffic it can seem like it never does a cleanup. This is just guess try to 
make sure you have enough tx buffers allocated and rx as well. 
Hope that helps
> /* Check to make sure the last descriptor to clean is done */
> desc_to_clean_to = sw_ring[desc_to_clean_to].last_id;
> status = txr[desc_to_clean_to].wb.status;
> if (!(status & rte_cpu_to_le_32(IXGBE_TXD_STAT_DD))) {
> PMD_TX_FREE_LOG(DEBUG,
>   "TX descriptor %4u is not done"
>   "(port=%d queue=%d)",
>   desc_to_clean_to,
>   txq->port_id, txq->queue_id);
> /* Failed to clean any descriptors, better luck next time */
> return -(1);
> }
> 
> I'm stuck here, and wonder how DPDK upgrade brings up this issue. Btw, there 
> was a similar mail which encountered the same issue, 
> http://mails.dpdk.org/archives/dev/2017-August/073240.html, but I find no 
> final solution for it.
> 
> Thanks a lot for your time, and dying for your reply!
> 
> Huiyou
> 

Reply via email to