[vfio-users] Virtual GPU support in Kernel 4.10

Alex Williamson alex.williamson at redhat.com
Mon Feb 20 16:17:22 UTC 2017


On Mon, 20 Feb 2017 16:00:47 +0000
"Patrick O'Callaghan" <poc at usb.ve> wrote:

> On Mon, 2017-02-20 at 08:35 -0700, Alex Williamson wrote:
> > On Mon, 20 Feb 2017 14:41:42 +0000
> > Ivan Volosyuk <ivan.volosyuk at gmail.com> wrote:
> >   
> > > I see lots of hype for the new feature of the Linux kernel. What does it
> > > mean for my gaming setup? Can i get better performance with the technology
> > > once it get supported by Nvidia?  
> > 
> > For a desktop user, vGPU is essentially limited to Intel IGD.  The new
> > VFIO Mediated Device infrastructure allows vendor drivers to expose
> > virtual devices to userspace using the VFIO API.  It is completely at
> > the vendor driver's discretion whether to support these mediated
> > devices for a given hardware implementation.  In the case of NVIDIA,
> > the vendor driver is of course the proprietary nvidia.ko module.  If
> > you look at nvidia.com for vGPU information, the deployment guides
> > include only the product briefs for M-series Tesla cards, you won't
> > find mention of support for GeForce anywhere.
> > 
> > As for performance, vGPUs are essentially fragments of the physical
> > GPU, one to perhaps many mediated devices may be created, depending on
> > the vendor driver implementation.  Deciding which vGPU model to use
> > depends on the requirements of the individual use case, but in general,
> > a vGPU can never exceed the performance of the physical GPU.  In other
> > words, it's a fan-out solution, like virtual SR-IOV, to provide more
> > virtual devices from a single physical device.  It's not an acceleration
> > technique with capabilities beyond direct assignment.  Thanks,  
> 
> Nevertheless it could be appropriate for certain use cases. I'm
> thinking DirectX games that are not too demanding but won't run under
> the KVM emulated GPU, assuming such things exist. It would presumably
> also be a lot easier to set up. I for one am still looking at VFIO with
> a certain amount of trepidation.

The vGPU infrastructure in v4.10 is effectively just a software
extension of VFIO to expose software constructed devices to the user
rather than physical devices.  You're relying far more on a well
crafted and robust vendor driver with mediated device based vGPUs than
the hardware exposure and isolation of physical devices with VFIO.  If
you think physical IGD assignment is trepidatious, perhaps you want to
stand clear of KVMGT for a while...




More information about the vfio-users mailing list