[dpdk-dev] vfio detection

Richardson, Bruce bruce.richardson at intel.com
Tue Jun 17 18:28:41 CEST 2014


> -----Original Message-----
> From: Burakov, Anatoly
> Sent: Tuesday, June 17, 2014 1:40 AM
> To: Richardson, Bruce; dev at dpdk.org
> Subject: RE: vfio detection
> 
> Hi Bruce,
> 
> > I have a number of NIC ports which were working correctly yesterday and are
> > bound correctly to the igb_uio driver - and I want to keep using them
> > through the igb_uio driver for now, not vfio. However, whenever I run a
> > dpdk application today, I find that the vfio kernel module is getting loaded
> > each time - even after I manually remove it, and verify that it has been
> > removed by checking lsmod. Is this expected? If so, why are we loading the
> > vfio driver when I just want to continue using igb_uio which works fine?
> 
> Can you elaborate a bit on what do you mean by "loading vfio driver"? Do you
> mean the vfio-pci kernel gets loaded by DPDK? I certainly didn't put in any code
> that would automatically load that driver, and certainly not binding devices to it.

The kernel module called just "vfio" is constantly getting reloaded, and there is always a "/dev/vfio" directory, which triggers the vfio code handling every time I run dpdk.

> 
> > Secondly, then, when testpmd or any other app loads, it automatically tries
> > to map the NIC using vfio and then aborts on the very first NIC port when it
> > fails to do so.
> 
> This shouldn't happen, unless you have a device bound to VFIO and have another
> device in the same IOMMU group that is bound to something else. Can you
> provide a log of what you are seeing?

Log of testpmd run attached.

> 
> > This a) prevents the port from being mapped using igb_uio, and
> > b) for ports which are meant to stay under linux control, forces me to start
> > enumerating ports using blacklist or whitelisting, rather than having things
> > "just work" on a properly configured system as before, i.e. if a port is bound
> > to igb_uio or vfio it is used, if not bound, it is ignored. Again, is this by design
> > and expected, because it seems a major regression in usability?
> 
> I think automatic port unbinding and binding was removed, so this again
> shouldn't happen at all.
> 
> It would be useful to have logs for all of these described situations, because we
> certainly didn't encounter any of that during the validation cycle.
> 
Log of testpmd run attached. If you need any more debugging info, let me know.
I'll also test out the patch you just posted to the list - see if it makes any difference, and I'll send on a log from it.

/Bruce


More information about the dev mailing list