[dpdk-users] Need help understanding rte_eth_dev_count

Aniraj Kesavan anirajkesavan at gmail.com
Wed Oct 12 19:47:25 CEST 2016


I did follow the i40e instructions to startup testpmd application. My pci
id for the X710 is 0000:04:00.0.  I did


sudo python ./tools/dpdk-devbind.py --bind igb_uio 0000:04:00.0  to bind
after which it started up showing in dev-bind status.

Network devices using DPDK-compatible driver
============================================
0000: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 <mbuf_pool_socket_0>: 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 0000:04:00.0: removed PHC from eth6
[  +0.024267] igb_uio 0000: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 <aber at semihalf.com>
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 <anirajkesavan at gmail.com>
> 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
> > ============================================
> > 0000:04:00.0 'Ethernet Controller X710 for 10GbE SFP+' drv=igb_uio
> unused=
> > 0000: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/


More information about the users mailing list