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 ;)