[dpdk-dev] VFIO no-iommu

Thomas Monjalon thomas.monjalon at 6wind.com
Thu Dec 17 11:09:23 CET 2015


Hi,

2015-12-17 09:52, Burakov, Anatoly:
> > >  > > On Tue, Dec 15, 2015 at 09:53:18AM -0700, Alex Williamson wrote:
> > > > > So it works.  Is it acceptable?  Useful?  Sufficiently complete?
> > > > > Does it imply deprecating the uio interface?  I believe the
> > > > > feature that started this discussion was support for MSI/X
> > > > > interrupts so that VFs can support some kind of interrupt (uio
> > > > > only supports INTx since it doesn't allow DMA).  Implementing that
> > > > > would be the ultimate test of whether this provides dpdk with not
> > > > > only a more consistent interface, but the feature dpdk wants
> > > > > that's missing in uio. Thanks,
> > >
> > > Ferruh has done a great job so far testing Alex's patch, very few changes
> > from DPDK side seem to be required as far as existing functionality goes (not
> > sure about VF interrupts mentioned by Alex). However, one thing that
> > concerns me is usability. While it is true that no-IOMMU mode in VFIO would
> > mean uio interfaces could be deprecated in time, the no-iommu mode is way
> > more hassle than using igb_uio/uio_pci_generic because it will require a
> > kernel recompile as opposed to simply compiling and insmod'ding an out-of-
> > tree driver. So, in essence, if you don't want an IOMMU, it's becoming that
> > much harder to use DPDK. Would that be something DPDK is willing to live
> > with in the absence of uio interfaces?
> > 
> > Excuse me if I missed something obvious.
> > Why a kernel compilation is needed?
> 
> Well, not really full kernel compilation, but in the default configuration, VFIO driver would not support NOIOMMU mode. I.e. it's not compiled by default. Support for no-iommu should be enabled in kernel config and compiled in. So, whoever is going to use DPDK with VFIO-no-iommu will have to download kernel tree and recompile the VFIO module and install it. That's obviously way more hassle than simply compiling an out-of-tree driver that's already included and works with an out-of-the-box kernel.

The "out-of-the-box kernel" is configured by your distribution.
So we don't know yet what will be their choice.
If the distribution supports DPDK, it should be enabled.


More information about the dev mailing list