DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Soni, Shivam" <shivsoni@amazon.com>
To: "dev@dpdk.org" <dev@dpdk.org>, "users@dpdk.org" <users@dpdk.org>
Subject: [dpdk-dev] TX unable to enqueue packets to NIC due to no free TX descriptor
Date: Fri, 11 Jan 2019 22:10:39 +0000	[thread overview]
Message-ID: <454CCFA5-5843-441F-9C6D-33E807419574@amazon.com> (raw)

Hi All,

We are trying to debug and fix an issue. After the deployment, in few of the hosts we see an issue where TX is unable to enqueue packets to NIC. On rebouncing or restarting our packet processor daemon, issue gets resolved.

We are using IntelDPDK version 17.11.4 and i40e drivers.

On looking into driver’s code, we found that whenever the issue is happening the value for nb_tx_free is ‘0’. And then it tries to free the buffer by calling function ‘i40e_tx_free_bufs’.

This method returns early as the buffer its trying to free says it hasn’t finished transmitting yet. The method returns at this if condition:

/* check DD bits on threshold descriptor */
if ((txq->tx_ring[txq->tx_next_dd].cmd_type_offset_bsz &
                rte_cpu_to_le_64(I40E_TXD_QW1_DTYPE_MASK)) !=
                rte_cpu_to_le_64(I40E_TX_DESC_DTYPE_DESC_DONE)) {
return 0;
}

Hence nb_tx_free remains 0.

Our tx descriptor count is 1024.

How can we fix this issue.  Can someone help us out here please.

Thanks.

             reply	other threads:[~2019-01-11 22:10 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11 22:10 Soni, Shivam [this message]
2019-01-11 23:37 ` Stephen Hemminger
2019-01-12  0:26   ` Soni, Shivam
2019-01-14 17:54     ` Soni, Shivam
2019-01-16 21:45       ` Soni, Shivam
2019-01-17 10:56         ` Bruce Richardson
2019-04-15  5:35         ` Xiao, Xiaohong (NSB - CN/Shanghai)
2019-04-15  5:35           ` Xiao, Xiaohong (NSB - CN/Shanghai)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=454CCFA5-5843-441F-9C6D-33E807419574@amazon.com \
    --to=shivsoni@amazon.com \
    --cc=dev@dpdk.org \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).