[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191120114611.4721a7e9@hermes.lan>
Date: Wed, 20 Nov 2019 11:46:11 -0800
From: Stephen Hemminger <stephen@...workplumber.org>
To: Alex Williamson <alex.williamson@...hat.com>
Cc: <lantianyu1986@...il.com>, <cohuck@...hat.com>,
"KY Srinivasan" <kys@...rosoft.com>,
"Haiyang Zhang" <haiyangz@...rosoft.com>,
"Stephen Hemminger" <sthemmin@...rosoft.com>, <sashal@...nel.org>,
<mchehab+samsung@...nel.org>, <davem@...emloft.net>,
<gregkh@...uxfoundation.org>, <robh@...nel.org>,
<Jonathan.Cameron@...wei.com>, <paulmck@...ux.ibm.com>,
"Michael Kelley" <mikelley@...rosoft.com>,
"Tianyu Lan" <Tianyu.Lan@...rosoft.com>,
<linux-kernel@...r.kernel.org>, <kvm@...r.kernel.org>,
<linux-hyperv@...r.kernel.org>, "vkuznets" <vkuznets@...hat.com>
Subject: Re: [PATCH] VFIO/VMBUS: Add VFIO VMBUS driver support
On Wed, 20 Nov 2019 12:07:15 -0700
Alex Williamson <alex.williamson@...hat.com> wrote:
> On Wed, 20 Nov 2019 10:35:03 -0800
> Stephen Hemminger <stephen@...workplumber.org> wrote:
>
> > On Tue, 19 Nov 2019 15:56:20 -0800
> > "Alex Williamson" <alex.williamson@...hat.com> wrote:
> >
> > > On Mon, 11 Nov 2019 16:45:07 +0800
> > > lantianyu1986@...il.com wrote:
> > >
> > > > From: Tianyu Lan <Tianyu.Lan@...rosoft.com>
> > > >
> > > > This patch is to add VFIO VMBUS driver support in order to expose
> > > > VMBUS devices to user space drivers(Reference Hyper-V UIO driver).
> > > > DPDK now has netvsc PMD driver support and it may get VMBUS resources
> > > > via VFIO interface with new driver support.
> > > >
> > > > So far, Hyper-V doesn't provide virtual IOMMU support and so this
> > > > driver needs to be used with VFIO noiommu mode.
> > >
> > > Let's be clear here, vfio no-iommu mode taints the kernel and was a
> > > compromise that we can re-use vfio-pci in its entirety, so it had a
> > > high code reuse value for minimal code and maintenance investment. It
> > > was certainly not intended to provoke new drivers that rely on this mode
> > > of operation. In fact, no-iommu should be discouraged as it provides
> > > absolutely no isolation. I'd therefore ask, why should this be in the
> > > kernel versus any other unsupportable out of tree driver? It appears
> > > almost entirely self contained. Thanks,
> > >
> > > Alex
> >
> > The current VMBUS access from userspace is from uio_hv_generic
> > there is (and will not be) any out of tree driver for this.
>
> I'm talking about the driver proposed here. It can only be used in a
> mode that taints the kernel that its running on, so why would we sign
> up to support 400 lines of code that has no safe way to use it?
>
> > The new driver from Tianyu is to make VMBUS behave like PCI.
> > This simplifies the code for DPDK and other usermode device drivers
> > because it can use the same API's for VMBus as is done for PCI.
>
> But this doesn't re-use the vfio-pci API at all, it explicitly defines
> a new vfio-vmbus API over the vfio interfaces. So a user mode driver
> might be able to reuse some vfio support, but I don't see how this has
> anything to do with PCI.
>
> > Unfortunately, since Hyper-V does not support virtual IOMMU yet,
> > the only usage modle is with no-iommu taint.
>
> Which is what makes it unsupportable and prompts the question why it
> should be included in the mainline kernel as it introduces a
> maintenance burden and normalizes a usage model that's unsafe. Thanks,
Many existing userspace drivers are unsafe:
- out of tree DPDK igb_uio is unsafe.
- VFIO with noiommu is unsafe.
- hv_uio_generic is unsafe.
This new driver is not any better or worse. This sounds like a complete
repeat of the discussion that occurred before introducing VFIO noiommu mode.
Shouldn't vmbus vfio taint the kernel in the same way as vfio noiommu does?
Powered by blists - more mailing lists