DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] Need help understanding rte_eth_dev_count
@ 2016-10-12  4:44 Aniraj Kesavan
       [not found] ` <CAOysbxpmme2xHxi5SVUi1ZO3KDz+jWvsu_7b_AmMmXNHrkRO3g@mail.gmail.com>
  0 siblings, 1 reply; 5+ messages in thread
From: Aniraj Kesavan @ 2016-10-12  4:44 UTC (permalink / raw)
  To: users

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@gmail.com
http://www.cs.utah.edu/~aniraj/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] Need help understanding rte_eth_dev_count
       [not found] ` <CAOysbxpmme2xHxi5SVUi1ZO3KDz+jWvsu_7b_AmMmXNHrkRO3g@mail.gmail.com>
@ 2016-10-12 17:47   ` Aniraj Kesavan
  2016-10-13  6:01     ` Muhammad Zain-ul-Abideen
  0 siblings, 1 reply; 5+ messages in thread
From: Aniraj Kesavan @ 2016-10-12 17:47 UTC (permalink / raw)
  To: Andriy Berestovskyy; +Cc: users

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@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@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@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@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@gmail.com
http://www.cs.utah.edu/~aniraj/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] Need help understanding rte_eth_dev_count
  2016-10-12 17:47   ` Aniraj Kesavan
@ 2016-10-13  6:01     ` Muhammad Zain-ul-Abideen
  2016-10-13  6:12       ` Aniraj Kesavan
  0 siblings, 1 reply; 5+ messages in thread
From: Muhammad Zain-ul-Abideen @ 2016-10-13  6:01 UTC (permalink / raw)
  To: Aniraj Kesavan; +Cc: Andriy Berestovskyy, users

*"EAL: No free hugepages reported in hugepages-2048kB" *
 No huge pages are available, kindly restart your server, and re do the
installation, plus tell me where the huge pages are being made.
and if this is a valid address in ur case
"*/sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages*"

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] Need help understanding rte_eth_dev_count
  2016-10-13  6:01     ` Muhammad Zain-ul-Abideen
@ 2016-10-13  6:12       ` Aniraj Kesavan
  2016-10-13  6:17         ` Muhammad Zain-ul-Abideen
  0 siblings, 1 reply; 5+ messages in thread
From: Aniraj Kesavan @ 2016-10-13  6:12 UTC (permalink / raw)
  To: Muhammad Zain-ul-Abideen; +Cc: Andriy Berestovskyy, users

I have 1GB hugepages enabled and mounted, in fact I had traced through gdb
to find out that hugepage_init succeeds.
Or is it necessary to have 2MB hugepages in particular?

One thing I did notice is that I wasn't unbinding the devices properly. I
had to do them manually writing pci device ids to unbind location. Even
after that, I'm finding issues.

I also figured out that since I was building as a shared library, I needed
to pass -d <lib location> as a command line parameter. Even after doing
that, I'm getting the same errors.


On Thu, Oct 13, 2016 at 12:01 AM, Muhammad Zain-ul-Abideen <
zain2294@gmail.com> wrote:

> *"EAL: No free hugepages reported in hugepages-2048kB" *
>  No huge pages are available, kindly restart your server, and re do the
> installation, plus tell me where the huge pages are being made.
> and if this is a valid address in ur case
> "*/sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages*"
>



-- 
Aniraj Kesavan

MS CS '15-'17,
University Of Utah
CS '08-'12,
Govt. Model Engineering College
alternate e-mail:anirajkalathel@gmail.com
http://www.cs.utah.edu/~aniraj/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] Need help understanding rte_eth_dev_count
  2016-10-13  6:12       ` Aniraj Kesavan
@ 2016-10-13  6:17         ` Muhammad Zain-ul-Abideen
  0 siblings, 0 replies; 5+ messages in thread
From: Muhammad Zain-ul-Abideen @ 2016-10-13  6:17 UTC (permalink / raw)
  To: Aniraj Kesavan; +Cc: Andriy Berestovskyy, users

kindly keep the basic command the same and u can change the number of
hugepages from 64 to ur liking, do that and respond with results
kindly

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-10-13  6:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-12  4:44 [dpdk-users] Need help understanding rte_eth_dev_count Aniraj Kesavan
     [not found] ` <CAOysbxpmme2xHxi5SVUi1ZO3KDz+jWvsu_7b_AmMmXNHrkRO3g@mail.gmail.com>
2016-10-12 17:47   ` Aniraj Kesavan
2016-10-13  6:01     ` Muhammad Zain-ul-Abideen
2016-10-13  6:12       ` Aniraj Kesavan
2016-10-13  6:17         ` Muhammad Zain-ul-Abideen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).