On 04/01/2010 03:08 AM, Tom Lyon wrote:
uio_pci_generic has previously been discussed on the KVM list, but this patch has nothing to do with KVM, so it is also going to LKML.
(needs to go to lkml even if it was for kvm)
The point of this patch is to beef up the uio_pci_generic driver so that a non-privileged user process can run a user level driver for most PCIe devices. This can only be safe if there is an IOMMU in the system with per-device domains. Privileged users (CAP_SYS_RAWIO) are allowed if there is no IOMMU. Specifically, I seek to allow low-latency user level network drivers (non tcp/ip) which directly access SR-IOV style virtual network adapters, for use with packages such as OpenMPI. Key areas of change: - ioctl extensions to allow registration and dma mapping of memory regions, with lock accounting - support for mmu notifier driven de-mapping
Note that current iommus/devices don't support restart-on-fault dma, so userspace drivers will have to lock memory so that it is not swapped out. I don't think this prevents page migration, though.
- support for MSI and MSI-X interrupts (the intel 82599 VFs support only MSI-X)
How does a userspace program receive those interrupts?
- allowing interrupt enabling and device register mapping all through /dev/uio* so that permissions may be granted just by chmod on /dev/uio*
That was always broken with the sysfs interface. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html