From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 1C2674C6C for ; Fri, 9 Nov 2018 08:37:36 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Nov 2018 23:37:36 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,482,1534834800"; d="scan'208";a="85148069" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga008.fm.intel.com with ESMTP; 08 Nov 2018 23:37:35 -0800 Received: from fmsmsx157.amr.corp.intel.com (10.18.116.73) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 8 Nov 2018 23:37:35 -0800 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.70]) by FMSMSX157.amr.corp.intel.com ([169.254.14.68]) with mapi id 14.03.0415.000; Thu, 8 Nov 2018 23:37:35 -0800 From: "Wiles, Keith" To: Jiang Huiyou CC: "dev@dpdk.org" , "Zhang, Qi Z" Thread-Topic: [dpdk-dev] rte_eth_tx_burst send packet fail when upgrade dpdk from 17.02 to 18.02 Thread-Index: AQHUd/8U8RR+p69hfE+u5lBrEdUBLA== Date: Fri, 9 Nov 2018 07:37:34 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] rte_eth_tx_burst send packet fail when upgrade dpdk from 17.02 to 18.02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Nov 2018 07:37:37 -0000 Sent from my iPhone > On Nov 7, 2018, at 2:36 AM, Jiang Huiyou wrote: >=20 > Hi, > My user-space TCP/IP stack works fine on DPDK 17.02, now I upgrade i= t to 18.02. And then I use wrk http benchmark to test my stack, it work we= ll 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 availabl= e transmit descriptor. And then I enable DPDK debug mode, the ixgbe_xmit_pk= ts has been called to send packets (My NIC is Intel 82599ES 10G) and it cal= led ixgbe_xmit_cleanup to recycle used transmit descriptor, but ixgbe_xmit= _cleanup always return -1. The relevant code is blew. >=20 Can you make sure the tx flush threshold? Some of the rx/tx rings were increased and if you do not have enough transm= it 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.=20 Hope that helps > /* Check to make sure the last descriptor to clean is done */ > desc_to_clean_to =3D sw_ring[desc_to_clean_to].last_id; > status =3D 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=3D%d queue=3D%d)", > desc_to_clean_to, > txq->port_id, txq->queue_id); > /* Failed to clean any descriptors, better luck next time */ > return -(1); > } >=20 > I'm stuck here, and wonder how DPDK upgrade brings up this issue. Btw, th= ere 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. >=20 > Thanks a lot for your time, and dying for your reply! >=20 > Huiyou >=20