Re: [PATCH] VFIO/VMBUS: Add VFIO VMBUS driver support

From: Stephen Hemminger
Date: Wed Nov 20 2019 - 13:39:17 EST


On Tue, 19 Nov 2019 15:56:20 -0800
"Alex Williamson" <alex.williamson@xxxxxxxxxx> wrote:

> On Mon, 11 Nov 2019 16:45:07 +0800
> lantianyu1986@xxxxxxxxx wrote:
>
> > From: Tianyu Lan <Tianyu.Lan@xxxxxxxxxxxxx>
> >
> > 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.

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.

Unfortunately, since Hyper-V does not support virtual IOMMU yet,
the only usage modle is with no-iommu taint.