DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Manoj Viswanath <manoj.viswanath@gmail.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Ports not detected by IGB_UIO in DPDK 1.7.1 in QEMU_KVM environment
Date: Mon, 10 Nov 2014 10:58:03 +0000	[thread overview]
Message-ID: <20141110105802.GA7036@bricha3-MOBL3> (raw)
In-Reply-To: <CAC1b25rnhsG6njQ3uy3xsCOyXrCHxDZeKqdsPRZ4bdBvK+8caA@mail.gmail.com>

On Fri, Nov 07, 2014 at 11:26:08PM +0530, Manoj Viswanath wrote:
> Hi Bruce,
> 
> Please find my comment in lined.
> 
> On Fri, Nov 7, 2014 at 9:00 PM, Bruce Richardson <bruce.richardson@intel.com
> > wrote:
> 
> > On Fri, Nov 07, 2014 at 08:31:34PM +0530, Manoj Viswanath wrote:
> > > Hi Bruce,
> > >
> > > I was not doing anything specific for binding the NICs to IGB_UIO (like
> > > invoking "dpdk_nic_bind.py" script explicitly) when using my application
> > > with DPDK 1.6.0. The e1000 devices assigned via virt-manager to the VM
> > were
> > > automatically getting picked up and initialized by IGB_UIO within each
> > VM.
> > >
> > > The same is not working with DPDK 1.7.1 now.
> > >
> > > I tried exporting the "dpdk_nic_bind.py" script into my VM (running DPDK
> > > 1.7.1) and tried to check the status. The emulated devices were shown as
> > > neither bound to kernel nor to IGB_UIO as evident from below output:-
> > >
> > >
> > <--------------------------------------------------------------------------------------------------->
> > > Network devices using DPDK-compatible driver
> > > ============================================
> > > <none>
> > >
> > > Network devices using kernel driver
> > > ===================================
> > > 0000:00:03.0 'Virtio network device' if= drv=virtio-pci unused=igb_uio
> > >
> > > Other network devices
> > > =====================
> > > 0000:00:04.0 '82540EM Gigabit Ethernet Controller' unused=igb_uio
> > > 0000:00:05.0 '82540EM Gigabit Ethernet Controller' unused=igb_uio
> > >
> > <--------------------------------------------------------------------------------------------------->
> > >
> > > When i tried to forcefully bind the NICs using the "--bind=igb_uio"
> > option
> >
> > Was there any output of the dpdk_nic_bind script? What does the output of
> > it with --status show afterwards?
> >
> > ​
> [MANOJ]​
> 
> ​Yes. Please refer below output:-
> ********************************************************************
> Network devices using DPDK-compatible driver
> ============================================
> 0000:00:04.0 '82540EM Gigabit Ethernet Controller' drv=igb_uio unused=
> 0000:00:05.0 '82540EM Gigabit Ethernet Controller' drv=igb_uio unused=
> 
> Network devices using kernel driver
> ===================================
> 0000:00:03.0 'Virtio network device' if= drv=virtio-pci unused=igb_uio
> 
> Other network devices
> =====================
> <none>​
> ********************************************************************
> 
> ​However, when i start the DPDK application, i am getting the error log as
> indicated in earlier mail. ​
> 
> The difference with DPDK 1.6.1 is that at the same stage IGB_UIO has
> already bound the assigned devices without having to explicitly run the
> "dpdk_nic_bind.py". Please find below the application log when run with
> DPDK 1.6.0:-
> 
> ​********************************************************************
> Network devices using DPDK-compatible driver
> ============================================
> 0000:00:04.0 '82540EM Gigabit Ethernet Controller' drv=igb_uio unused=
> 0000:00:08.0 '82540EM Gigabit Ethernet Controller' drv=igb_uio unused=
> 
> Network devices using kernel driver
> ===================================
> 0000:00:03.0 'Virtio network device' if= drv=virtio-pci unused=igb_uio
> 
> Other network devices
> =====================
> <none>
> ********************************************************************​
> 
> ​Kindly note that in both cases, logs have been taken after loading IGB_UIO
> prior to starting DPDK application. ​
> 
> ​[/MANOJ]​
> 
> Regards,

Ok, so it appears that after running dpdk_nic_bind to bind the devices to igb_uio
the differences between 1.6 and 1.7 are resolved for that part. The reason
why you explicitly need to bind the devices in 1.7 is due to this commit which
removes the pci id table from the igb_uio driver.

http://dpdk.org/browse/dpdk/commit/?id=629395b063e8278a05ea41908d1152fa68df098c

As for the other errors you are seeing, I'm not sure of the cause, though they
may be related to interrupt support for changes in link status. Can you perhaps
use a debugger and find out what the file descriptor in question refers to?

/Bruce

  reply	other threads:[~2014-11-10 10:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAC1b25pX3R2y_Cjp5UAdL6Bozrf01OkG6U6LGQvJ2aUTDXGvSA@mail.gmail.com>
2014-11-05 10:12 ` Bruce Richardson
2014-11-07 15:01   ` Manoj Viswanath
     [not found]     ` <20141107153053.GA10376@bricha3-MOBL3>
2014-11-07 17:56       ` Manoj Viswanath
2014-11-10 10:58         ` Bruce Richardson [this message]
2014-11-11 13:48           ` Manoj Viswanath
2014-11-12 14:12             ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141110105802.GA7036@bricha3-MOBL3 \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=manoj.viswanath@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).