DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jiang Huiyou <jhy19941008@hotmail.com>
To: "Wiles, Keith" <keith.wiles@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, "Zhang, Qi Z" <qi.z.zhang@intel.com>
Subject: [dpdk-dev] 答复:  rte_eth_tx_burst send packet fail when upgrade dpdk from 17.02 to 18.02
Date: Fri, 9 Nov 2018 09:18:16 +0000	[thread overview]
Message-ID: <HK2PR02MB4020C90909FF5044B8ED0558B8C60@HK2PR02MB4020.apcprd02.prod.outlook.com> (raw)
In-Reply-To: <CA5F81C6-B916-4D89-99AD-8D3CDB0B8B84@intel.com>

Hi Wiles,

    Thanks a lot for your reply, I'm not sure what you said "tx flush threshold" exactly is. Is it in parameter of rte_eth_tx_queue_setup function to init tx queue? If so,  it's configured as

static struct rte_eth_txconf tx_conf =
{
.tx_thresh = {
 .pthresh = TX_PTHRESH,  // 36
 .hthresh = TX_HTHRESH,  // 0
 .wthresh = TX_WTHRESH,  // 0
},
.tx_free_thresh = MAX_PKT_BURST, // Use PMD default values, supposed to be 32
.tx_rs_thresh = MAX_PKT_BURST, // Use PMD default values
.txq_flags = (uint32_t)ETH_TXQ_FLAGS_NOOFFLOADS,
};

And the transmit ring size is 4096.

As for network traffic, I use the http benchmark tool called wrk to perform stress testing for nginx, which running on my user-space TCP/IP stacks. I think the traffic is absolutely enough, and the issue occurs during the stress testing.

Thanks again for your reply.
Best wishes
________________________________
发件人: Wiles, Keith <keith.wiles@intel.com>
发送时间: 2018年11月9日 15:37
收件人: Jiang Huiyou
抄送: dev@dpdk.org; Zhang, Qi Z
主题: Re: [dpdk-dev] rte_eth_tx_burst send packet fail when upgrade dpdk from 17.02 to 18.02



Sent from my iPhone

> On Nov 7, 2018, at 2:36 AM, Jiang Huiyou <jhy19941008@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	other threads:[~2018-11-09  9:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-07  2:36 [dpdk-dev] " Jiang Huiyou
2018-11-09  7:37 ` Wiles, Keith
2018-11-09  9:18   ` Jiang Huiyou [this message]
2018-11-30 20:28     ` Wiles, Keith

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=HK2PR02MB4020C90909FF5044B8ED0558B8C60@HK2PR02MB4020.apcprd02.prod.outlook.com \
    --to=jhy19941008@hotmail.com \
    --cc=dev@dpdk.org \
    --cc=keith.wiles@intel.com \
    --cc=qi.z.zhang@intel.com \
    /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).