[dpdk-users] 1518B of 1G NIC can't achieve 100% throughput
Hi all, I have a bay trail platform as shown below: === || Atom N2807 --> PCIE Switch --> Intel I210 --> RJ45 Eth1|| || | || || | --> Intel I210 --> RJ45 Eth2|| === Now I run RFC2544 throughput test for Linux native ip forwarding, and get the result as show below: || Frame Size(bytes) || Throughput(%) || || 1518 || 100 || Focus on 1518B, the throughput is totally 100%. However, I run RFC2544 test with DPDK (testpmd), and here is the result. || Frame Size(bytes) || Throughput(%) || ||1518|| 99.297 || (My command is: #./testpmd -c 0x3 -n 1 -- -i --nb-cores=1 --nb-ports=2 --total-num-mbufs=2048) The throughput of 1518B is just only 99.297%, which means it is failed when running 100% offered loading because there is a few frame loss (~0.5%). Could anyone help us to explain the phenomenon? Could anyone help us to improve it to 100%? BTW, I just attempted to modify these parameters like rxd, txd, txwt, burst, etc,.. but it doesn't seem work to me. PS. OS: CentOS 7.1 x64 Kernel: 3.10.0-229 DPDK ver: 16.04 BR, Leo,
[dpdk-users] [dpdk-dev] Project Governance and Linux Foundation
ZTE is supportive of improving the DPDK project governance including moving the project to the Linux Foundation. DPDK has been used in lots of ZTE's equipments and solutions such as BBU,RNC,EPC,vEPC,vBRAS,vCPE,vRouter,vSwitch,and so on for many years. We have also done some optimization in DPDK. If the DPDK project governance moves to the Linux Foundation,we think this will promote ZTE and other companies to contribute in DPDK. Thanks Chunhua -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of O'Driscoll, Tim Sent: Monday, October 10, 2016 4:33 PM To: dev at dpdk.org; users at dpdk.org Subject: [dpdk-dev] Project Governance and Linux Foundation This email is being sent on behalf of: Cavium, Cisco, Intel, NXP & Red Hat. Since its creation as an open source project in 2013, DPDK has grown significantly. The number of DPDK users, contributors, commercial products that use DPDK and open source projects that depend on it have all increased consistently over that time. DPDK is now a key ingredient in networking and NFV, and we need to ensure that the project structure and governance are appropriate for such a critical project, and that they facilitate the project's continued growth. For over a year now we've been discussing moving DPDK to the Linux Foundation. We believe it's now time to conclude that discussion and make the move. The benefits of doing this would include: - The infrastructure for a project like DPDK should not be owned and controlled by any single company. - Remove any remaining perception that DPDK is not truly open. - Allow the project to avail of the infrastructure and services provided by the Linux Foundation. These include things like: Ability to host infrastructure for integration and testing (the FD.io CSIT lab is an example of this - see https://wiki.fd.io/view/CSIT/CSIT_LF_testbed); Support for legal issues including trademarks and branding, and the ability to sign agreements on behalf of the project; Ability to pool resources for events and brand promotion; Safe haven for community IP resources. We don't propose to debate the details here. Instead, an open discussion session on DPDK Project Growth has been included in the agenda for the DPDK Summit Userspace 2016 event in Dublin. We propose using that session to agree that the DPDK project will move to the Linux Foundation, and then to move on to discussing the specifics. Things that we'll need to consider include: - Whether DPDK moves to the Linux Foundation as an independent project or as part of a larger project like FD.io. - Creation of a project charter similar to those created for FD.io ( https://fd.io/governance/technical-community-charter) and Open vSwitch (see http://openvswitch.org/pipermail/discuss/attachments/20160619/5a2df53e/attachment-0001.pdf ). - Agreement on budget, membership levels etc. A draft budget was created by the LF during previous discussions ( https://docs.google.com/spreadsheets/d/1-3686Xb_jf4FtxdX8Mus9UwIxUb2vI_ppmJV5GnXcLg/edit#gid=302618256 ), but it is possible to adopt an even more lightweight model. We could look at alternatives to the Linux Foundation, but a) we've been talking to the LF for over a year now, and b) the preponderance of networking projects in LF, like ODL, FD.io, and OVS, makes it a natural destination for DPDK. As highlighted in previous discussions on this topic, it's important to stress that the intent is not to make significant changes to the technical governance and decision making of the project. The project has a strong set of maintainers and a Technical Board in place already. What's required is to supplement that with an open governance structure taking advantage of the services offered by the Linux Foundation. The purpose of this email is to outline what we want to achieve during that discussion session in Dublin, and to allow people to consider the issue and prepare in advance. If people want to comment via email on the mailing list, that's obviously fine, but we believe that an open and frank discussion when people meet in person in Dublin is the best way to progress this. For reference, below is a brief history of the previous discussions on this topic: September 2015: - A DPDK community call was held to discuss project growth and possible improvements. This was the first public discussion on possible governance changes. The agreed next step was to discuss this in more detail at the 2015 DPDK Summit Userspace event Dublin. Minutes of the call are at: http://dpdk.org/ml/archives/dev/2015-September/024120.html. October 2015: - An open discussion session on project governance was held at the 2015 DPDK Summit Userspace event. For technical governance, we agreed to investigate creating a technical steering committee. For non-technical governance (including things like event planning, legal and trademark issues, hosting of the website etc.), we agreed to work with the Linux Fou
[dpdk-users] Need help understanding rte_eth_dev_count
I did follow the i40e instructions to startup testpmd application. My pci id for the X710 is :04:00.0. I did sudo python ./tools/dpdk-devbind.py --bind igb_uio :04:00.0 to bind after which it started up showing in dev-bind status. Network devices using DPDK-compatible driver :04:00.0 'Ethernet Controller X710 for 10GbE SFP+' drv=igb_uio unused= ? ?WhWhWhs When I try to run testpmd, I don't see my pci device listed and it's not probed, it directly tries to probe VFIO support. This is the output when I run testpmd. anirajk at node-0:/local/RAMCloud/dpdk$ sudo LD_LIBRARY_PATH=/local/RAMCloud/dpdk/x86_64-native-linuxapp-gcc/lib ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 04:00.0 -- -i EAL: Detected 32 lcore(s) EAL: No free hugepages reported in hugepages-2048kB EAL: Probing VFIO support... EAL: WARNING: Master core has no memory on local socket! EAL: No probed ethernet devices Interactive-mode selected USER1: create a new mbuf pool : n=171456, size=2176, socket=0 EAL: Error - exiting with code: 1 Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory ? Dmesg popped up this: [Oct12 11:26] igb_uio: Use MSIX interrupt by default [Oct12 11:27] i40e :04:00.0: removed PHC from eth6 [ +0.024267] igb_uio :04:00.0: uio device registered with irq 4d [Oct12 11:29] Bits 55-60 of /proc/PID/pagemap entries are about to stop being page-shift some time soon. See the linux/Documentation/vm/pagemap.txt for details. ? I'm running with sudo and have 1GB hugepages enabled and mounted. What other reasons could possibly prevent the pci device from not being recognised while testpmd is starting up? On Wed, Oct 12, 2016 at 1:36 AM, Andriy Berestovskyy wrote: > Hey, > In 16.07 the PMDs drivers get register using the PMD_REGISTER_DRIVER(): > http://dpdk.org/browse/dpdk/tree/lib/librte_eal/common/ > include/rte_dev.h?id=v16.07#n187 > > The macro uses constructor attribute, so the drivers get registered > during the application startup, prior the main() function. > > > Regarding the configuration, try to reproduce the steps listed in the > documentation: > http://dpdk.org/doc/guides/nics/i40e.html > > Andriy > > > On Wed, Oct 12, 2016 at 6:44 AM, Aniraj Kesavan > wrote: > > Hi, > > > > I'm very new to dpdk and I'm trying to set it up on a cluster with the > > following configuration: > > DPDK - 16.07 > > Intel X710 2x10G Nics > > Ubuntu 15.04 > > > > I could compile it, but when running sample applications such as > > skeleton/basicfwd and testpmd, it fails saying the ports aren't detected. > > > > I have done the following: > > enabled 1G huge pages and mounted them under /dev/hugepages > > ran dpdk-devbind.py on the interfaces after which the status shows: > > > > Network devices using DPDK-compatible driver > > > > :04:00.0 'Ethernet Controller X710 for 10GbE SFP+' drv=igb_uio > unused= > > :04:00.1 'Ethernet Controller X710 for 10GbE SFP+' drv=igb_uio > unused= > > > > While running gdb over the basicfwd application (run as sudo as it seemed > > like a requirement), it seems like rte_eth_dev_count is returning 0. Even > > the testpmd application is reporting no ports available. I have tried the > > portmask option and tried to pass the interfaces as -w arguments too. > > > > When I looked at rte_eth_dev_count, it's returning an unsigned static int > > that is only updated by rte_eth_dev_allocate. Following the breadcrumbs, > it > > seemed like someone needed to invoke rte_eth_dev_register. I didn't see > > that being called in the basicfwd example's codepath. > > > > Can anyone tell me what usually causes rte_eth_dev_register to run and > > update the port number? Or is there anything I might have missed in the > > configuration that's causing the device to not show up when the library > is > > looking for it. > > > > > > > > Thanks, > > Aniraj > > > > > > > > -- > > Aniraj Kesavan > > > > MS CS '15-'17, > > University Of Utah > > CS '08-'12, > > Govt. Model Engineering College > > alternate e-mail:anirajkalathel at gmail.com > > http://www.cs.utah.edu/~aniraj/ > > > > -- > Andriy Berestovskyy > -- Aniraj Kesavan MS CS '15-'17, University Of Utah CS '08-'12, Govt. Model Engineering College alternate e-mail:anirajkalathel at gmail.com http://www.cs.utah.edu/~aniraj/
[dpdk-users] Need help understanding rte_eth_dev_count
Hey, In 16.07 the PMDs drivers get register using the PMD_REGISTER_DRIVER(): http://dpdk.org/browse/dpdk/tree/lib/librte_eal/common/include/rte_dev.h?id=v16.07#n187 The macro uses constructor attribute, so the drivers get registered during the application startup, prior the main() function. Regarding the configuration, try to reproduce the steps listed in the documentation: http://dpdk.org/doc/guides/nics/i40e.html Andriy On Wed, Oct 12, 2016 at 6:44 AM, Aniraj Kesavan wrote: > Hi, > > I'm very new to dpdk and I'm trying to set it up on a cluster with the > following configuration: > DPDK - 16.07 > Intel X710 2x10G Nics > Ubuntu 15.04 > > I could compile it, but when running sample applications such as > skeleton/basicfwd and testpmd, it fails saying the ports aren't detected. > > I have done the following: > enabled 1G huge pages and mounted them under /dev/hugepages > ran dpdk-devbind.py on the interfaces after which the status shows: > > Network devices using DPDK-compatible driver > > :04:00.0 'Ethernet Controller X710 for 10GbE SFP+' drv=igb_uio unused= > :04:00.1 'Ethernet Controller X710 for 10GbE SFP+' drv=igb_uio unused= > > While running gdb over the basicfwd application (run as sudo as it seemed > like a requirement), it seems like rte_eth_dev_count is returning 0. Even > the testpmd application is reporting no ports available. I have tried the > portmask option and tried to pass the interfaces as -w arguments too. > > When I looked at rte_eth_dev_count, it's returning an unsigned static int > that is only updated by rte_eth_dev_allocate. Following the breadcrumbs, it > seemed like someone needed to invoke rte_eth_dev_register. I didn't see > that being called in the basicfwd example's codepath. > > Can anyone tell me what usually causes rte_eth_dev_register to run and > update the port number? Or is there anything I might have missed in the > configuration that's causing the device to not show up when the library is > looking for it. > > > > Thanks, > Aniraj > > > > -- > Aniraj Kesavan > > MS CS '15-'17, > University Of Utah > CS '08-'12, > Govt. Model Engineering College > alternate e-mail:anirajkalathel at gmail.com > http://www.cs.utah.edu/~aniraj/ -- Andriy Berestovskyy
[dpdk-users] [dpdk-dev] Project Governance and Linux Foundation
Hi, This is a really interesting use case. Questions below, 2016-10-12 13:44, qin.chunhua at zte.com.cn: > ZTE is supportive of improving the DPDK project governance including > moving the project to the Linux Foundation. > DPDK has been used in lots of ZTE's equipments and solutions such as > BBU,RNC,EPC,vEPC,vBRAS,vCPE,vRouter,vSwitch,and so on for many years. > We have also done some optimization in DPDK. You mean you made some optimizations to DPDK but keep them secret? > If the DPDK project governance moves to the Linux Foundation, > we think this will promote ZTE and other companies to contribute in DPDK. Why it would help you to contribute? Why not contribute today? The project is truly open, a lot of major companies are contributing, why not yours?