Messages in this thread | | | Date | Thu, 01 Apr 2010 12:09:09 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH 0/1] uio_pci_generic: extensions to allow access for non-privileged processes |
| |
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
| |