[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-07-03 Thread Pavel Odintsov
Hello, folks! We have found root of issue. Intel do not offer wire speed for 64b packets in XL710 at all. As mentioned in data sheet http://www.intel.ru/content/dam/www/public/us/en/documents/product-briefs/xl710-10-40-gbe-controller-brief.pdf we have: Small packet performance: Maintains wire-r

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-07-01 Thread Vladimir Medvedkin
Hi Anuj, Thanks for fixes! I have 2 comments - from i40e_ethdev.h : #define I40E_DEFAULT_RX_WTHRESH 0 - (26 + 32) / 4 (batched descriptor writeback) should be (26 + 4 * 32) / 4 (batched descriptor writeback) , thus we have 135 bytes/packet This corresponds to 58.8 Mpps Regards, Vladimir 20

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-07-01 Thread Vladimir Medvedkin
In case with syn flood you should take into account return syn-ack traffic, which generates PCIe DLLP's from NIC to host, thus pcie bandwith exceeds faster. And don't forget about DLLP's generated by rx traffic, which saturates host-to-NIC bus. 2015-07-01 16:05 GMT+03:00 Pavel Odintsov : > Yes, B

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-07-01 Thread Pavel Odintsov
Yes, Bruce, we understand this. But we are working with huge SYN attacks processing and they are 64byte only :( On Wed, Jul 1, 2015 at 3:59 PM, Bruce Richardson wrote: > On Wed, Jul 01, 2015 at 03:44:57PM +0300, Pavel Odintsov wrote: >> Thanks for answer, Vladimir! So we need look for x16 NIC if

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-07-01 Thread Pavel Odintsov
Thanks for answer, Vladimir! So we need look for x16 NIC if we want achieve 40GE line rate... On Wed, Jul 1, 2015 at 3:06 PM, Vladimir Medvedkin wrote: > Hi Pavel, > > Looks like you ran into pcie bottleneck. So let's calculate xl710 rx only > case. > Assume we have 32byte descriptors (if we wan

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-07-01 Thread Vladimir Medvedkin
Hi Pavel, Looks like you ran into pcie bottleneck. So let's calculate xl710 rx only case. Assume we have 32byte descriptors (if we want more offload). DMA makes one pcie transaction with packet payload, one descriptor writeback and one memory request for free descriptors for every 4 packets. For T

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-07-01 Thread Anuj Kalia
Thanks for the comments. On Wed, Jul 1, 2015 at 1:32 PM, Vladimir Medvedkin wrote: > Hi Anuj, > > Thanks for fixes! > I have 2 comments > - from i40e_ethdev.h : #define I40E_DEFAULT_RX_WTHRESH 0 > - (26 + 32) / 4 (batched descriptor writeback) should be (26 + 4 * 32) / 4 > (batched descript

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-07-01 Thread Bruce Richardson
On Wed, Jul 01, 2015 at 03:44:57PM +0300, Pavel Odintsov wrote: > Thanks for answer, Vladimir! So we need look for x16 NIC if we want > achieve 40GE line rate... > Note that this would only apply for your minimal i.e. 64-byte, packet sizes. Once you go up to larger e.g. 128B packets, your PCI band

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-07-01 Thread Anuj Kalia
Vladimir, Few possible fixes to your PCIe analysis (let me know if I'm wrong): - ECRC is probably disabled (check using sudo lspci -vvv | grep CGenEn-), so TLP header is 26 bytes - Descriptor writeback can be batched using high value of WTHRESH, which is what DPDK uses by default - Read request co

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-06-30 Thread Keunhong Lee
I have not used XL710 or i40e. I have no opinion for those NICs. Keunhong. 2015-06-29 15:59 GMT+09:00 Pavel Odintsov : > Hello! > > Lee, thank you so much for sharing your experience! What do you think > about 40GE version of 82599? > > On Mon, Jun 29, 2015 at 2:35 AM, Keunhong Lee wrote: > > D

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-06-29 Thread Pavel Odintsov
Hello, Andrew! What NIC have you used? Is it XL710? On Mon, Jun 29, 2015 at 6:38 PM, Andrew Theurer wrote: > > > On Mon, Jun 29, 2015 at 10:06 AM, Keunhong Lee wrote: >> >> I have not used XL710 or i40e. >> I have no opinion for those NICs. >> >> Keunhong. >> >> 2015-06-29 15:59 GMT+09:00 Pavel

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-06-29 Thread Andrew Theurer
On Mon, Jun 29, 2015 at 10:06 AM, Keunhong Lee wrote: > I have not used XL710 or i40e. > I have no opinion for those NICs. > > Keunhong. > > 2015-06-29 15:59 GMT+09:00 Pavel Odintsov : > > > Hello! > > > > Lee, thank you so much for sharing your experience! What do you think > > about 40GE versio

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-06-29 Thread Pavel Odintsov
Hello! Lee, thank you so much for sharing your experience! What do you think about 40GE version of 82599? On Mon, Jun 29, 2015 at 2:35 AM, Keunhong Lee wrote: > DISCLAIMER: This information is not verified. This is truly my personal > opinion. > > As I know, intel 82599 is the only 10G NIC which

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-06-29 Thread Keunhong Lee
DISCLAIMER: This information is not verified. This is truly my personal opinion. As I know, intel 82599 is the only 10G NIC which supports line rate with minimum sized packets (64 byte). According to our internal tests, Mellanox's 40G NICs even support less than 30Mpps. I think 40 Mpps is the hard

[dpdk-dev] Could not achieve wire speed for 40GE with any DPDK version on XL710 NIC's

2015-06-28 Thread Pavel Odintsov
Hello, folks! We have execute bunch of tests for receive data with Intel XL710 40GE NIC. We want to achieve wire speed on this platform for traffic capture. But we definitely can't do it. We tried with different versions of DPDK: 1.4, 1.6, 1.8, 2.0. And have not success. We achieved only 40Mpps