On Wed, 28 May 2014 15:45:02 +0200 Thomas Monjalon <thomas.monjalon at 6wind.com> wrote:
> 2014-05-23 00:10, Antti Kantee: > > On 22/05/14 13:13, Thomas Monjalon wrote: > > > 2014-05-19 16:51, Anatoly Burakov: > > >> Note that since igb_uio no longer has a PCI ID list, it can now be > > >> bound to any device, not just those explicitly supported by DPDK. In > > >> other words, it now behaves similar to PCI stub, VFIO and other generic > > >> PCI drivers. > > > > > > I wonder if we could replace igb_uio by uio_pci_generic? > > > > I've been running plenty of the NetBSD kernel PCI drivers in Linux > > userspace on top of uio_pci_generic, including NICs supported by DPDK. > > The only real annoyance is that mainline uio_pci_generic doesn't support > > MSI. A pseudo-annoyance is that uio_pci_generic turns interrupts off > > from the PCI config space each time after you read an interrupt, so they > > have to be reenabled after each one (and NetBSD kernel drivers tend to > > like using interrupts for everything). > > > > The annoyance of vfio is iommus. Yes, I want to make the tradeoff of > > possibly scribbling memory vs. not being able to do anything on the > > wrong system. > > > > I'd like to see a generic Linux kernel PCI driver blob without > > annoyances, though not yet annoyed enough to do anything myself ;) > > So maybe it's possible to improve uio_pci_generic in order to replace igb_uio. > If someone wants to work on it, it's possible to stage uio_pci_generic in > dpdk.org in order to make it ready for kernel.org. > I am doing a new version of uio_pci for upstream kernel and will submit when ready. It will be for 3.10 or later kernel, will not bother backporting past that.