[dpdk-users] 1518B of 1G NIC can't achieve 100% throughput

2016-10-12 Thread MESSI SHIYEH
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

2016-10-12 Thread qin.chun...@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. 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

2016-10-12 Thread Aniraj Kesavan
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

2016-10-12 Thread Andriy Berestovskyy
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

2016-10-12 Thread Thomas Monjalon
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?