[vfio-users] IGD primary pci passthrough troubles - can anyone help?

Alex Williamson alex.williamson at redhat.com
Fri Nov 11 17:49:34 UTC 2016


On Fri, 11 Nov 2016 10:34:48 -0700
Alex Williamson <alex.williamson at redhat.com> wrote:

> On Fri, 11 Nov 2016 10:06:58 -0700
> Alex Williamson <alex.williamson at redhat.com> wrote:
> 
> > On Fri, 11 Nov 2016 09:52:49 -0700
> > Paul Handy <paul.d.handy at gmail.com> wrote:  
> > > 
> > > As others have reported, I've gotten this message despite best efforts:
> > > Failed to mmap 0000:00:02.0 BAR 2. Performance may be slow    
> > 
> > Are there any clues in /proc/iomem as to what might be consuming
> > resources on the device?  
> 
> D'oh, you provided that, BOOTFB... whatever that is.

Ok, this is simplefb and that driver apparently doesn't care that
you're trying to disable it with simplefb:off.  The approach I'd take
would be to let i915 take the IGD device on boot, it's easier to deal
with removing i915 and keeping it off the device than all these
miscellaneous other driver grabbing it.  So remove the i915 blacklist,
remove the IGD device from the vfio-pci ids list, then create an rc
script (or even @reboot crontab entry) that does:

echo "vfio-pci" > /sys/bus/pci/devices/0000:00:02.0/driver_override

Your libvirt <hostdev> entry should also set managed='yes', which is
the default.  The effect will be that the host boots with i915 claiming
the device, when the VM is started libvirt will move it to vfio-pci,
and when the VM is stopped, the driver_override will prevent i915 from
reattaching to the device, which avoids the i915 driver issues on the
host.  So it's basically a one-way path from i915 to vfio-pci.  The
benefit is that unbinding i915 from the IGD should be clean and random
other FB drivers won't be clinging to resources.  Thanks,

Alex




More information about the vfio-users mailing list