From: "Michael S. Tsirkin" <mst@redhat.com>
To: Tom Lyon <pugs@lyon-about.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/1] uio_pci_generic: extensions to allow access for non-privileged processes
Date: Thu, 1 Apr 2010 17:25:04 +0300 [thread overview]
Message-ID: <20100401142504.GA6338@redhat.com> (raw)
In-Reply-To: <201003311708.38961.pugs@lyon-about.com>
On Wed, Mar 31, 2010 at 05:08:38PM -0700, 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.
>
> 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.
Why? Per-guest domain should be safe enough.
> Privileged users (CAP_SYS_RAWIO) are allowed if there is
> no IOMMU.
qemu does not support it, I doubt this last option is worth having.
> 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
> - support for MSI and MSI-X interrupts (the intel 82599 VFs support only
> MSI-X)
> - allowing interrupt enabling and device register mapping all
> through /dev/uio* so that permissions may be granted just by chmod
> on /dev/uio*
For non-priveledged users, we need a way to enforce that
device is bound to an iommu.
Further, locking really needs to be scoped with iommu domain existance
and with iommu mappings: as long as a page is mapped in iommu,
it must be locked. This patch does not seem to enforce that.
Also note that what we really want is a single iommu domain per guest,
not per device.
For this reason, I think we should address the problem somwwhat
differently:
- Create a character device to represent the iommu
- This device will handle memory locking etc
- Allow binding this device to iommu
- Allow other operations only after iommu is bound
Thanks!
--
MST
next prev parent reply other threads:[~2010-04-01 16:44 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-01 0:08 [PATCH 0/1] uio_pci_generic: extensions to allow access for non-privileged processes Tom Lyon
2010-04-01 0:12 ` [PATCH 1/1] " Tom Lyon
2010-04-09 9:08 ` Joerg Roedel
2010-04-09 16:27 ` Tom Lyon
2010-04-01 9:09 ` [PATCH 0/1] " Avi Kivity
2010-04-01 15:39 ` Tom Lyon
2010-04-01 15:54 ` Avi Kivity
2010-04-01 16:06 ` Tom Lyon
2010-04-01 16:10 ` Avi Kivity
2010-04-01 19:24 ` Tom Lyon
2010-04-01 20:21 ` Joerg Roedel
2010-04-02 6:43 ` Avi Kivity
2010-04-02 17:05 ` Greg KH
2010-04-09 9:58 ` Avi Kivity
2010-04-09 16:34 ` Tom Lyon
2010-04-09 16:48 ` [PATCH 0/1] uio_pci_generic: extensions to allow access for?non-privileged processes Joerg Roedel
2010-04-09 17:43 ` [PATCH 0/1] uio_pci_generic: extensions to allow access for non-privileged processes Avi Kivity
2010-04-09 20:09 ` [PATCH 0/1] uio_pci_generic: extensions to allow access for?non-privileged processes Chris Wright
2010-04-09 20:05 ` [PATCH 0/1] uio_pci_generic: extensions to allow access for non-privileged processes Chris Wright
2010-04-01 21:27 ` Tom Lyon
2010-04-02 6:44 ` Avi Kivity
2010-04-01 12:52 ` Joerg Roedel
2010-04-01 15:40 ` Tom Lyon
2010-04-01 16:07 ` Joerg Roedel
2010-04-01 19:18 ` Tom Lyon
2010-04-01 20:09 ` Joerg Roedel
2010-04-01 14:25 ` Michael S. Tsirkin [this message]
2010-04-01 16:02 ` Tom Lyon
2010-04-01 16:57 ` Joerg Roedel
2010-04-01 19:08 ` Hans J. Koch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100401142504.GA6338@redhat.com \
--to=mst@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pugs@lyon-about.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox