From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.14]) by dpdk.org (Postfix) with ESMTP id 84449C376 for ; Wed, 29 Jul 2015 17:07:03 +0200 (CEST) Received: from [87.172.146.126] (helo=nb-martin.allegro) by smtprelay02.ispgateway.de with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.84) (envelope-from ) id 1ZKSwg-0004Xc-QS; Wed, 29 Jul 2015 17:07:02 +0200 Message-ID: <55B8EC16.60404@allegro-packets.com> Date: Wed, 29 Jul 2015 17:07:02 +0200 From: Martin Weiser User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: helin.zhang@intel.com, olivier.matz@6wind.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Df-Sender: bWFydGluLndlaXNlckBhbGxlZ3JvLXBhY2tldHMuY29t Cc: dev@dpdk.org Subject: [dpdk-dev] Issue with non-scattered rx in ixgbe and i40e when mbuf private area size is odd X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2015 15:07:03 -0000 Hi Helin, Hi Olivier, we are seeing an issue with the ixgbe and i40e drivers which we could track down to our setting of the private area size of the mbufs. The issue can be easily reproduced with the l2fwd example application when a small modification is done: just set the priv_size parameter in the call to the rte_pktmbuf_pool_create function to an odd number like 1. In our tests this causes every call to rte_eth_rx_burst to return 32 (which is the setting of nb_pkts) nonsense mbufs although no packets are received on the interface and the hardware counters do not report any received packets. Interestingly this does not happen if we force the scattered rx path. I assume the drivers have some expectations regarding the alignment of the buf_addr in the mbuf and setting an odd private are size breaks this alignment in the rte_pktmbuf_init function. If this is the case then one possible fix might be to enforce an alignment on the private area size. Best regards, Martin