On Fri, Jun 24, 2016 at 04:52:31PM +0800, Chen Fan wrote: > > > On 2016年06月24日 16:20, Daniel P. Berrange wrote: > > On Fri, Jun 24, 2016 at 12:27:57PM +0800, Chen Fan wrote: > > > hi all, > > > in openstack, we can use the pci passthrough feature now, refer to > > > https://wiki.openstack.org/wiki/Pci_passthrough > > > but we can't definitely specify the host pci driver is LEGACY_KVM or > > > newer VFIO, > > > new VFIO driver is more safer, and higher-performance user-space > > > driver > > > than legacy kvm driver (pci-stub), the benefit relative to kvm > > > assignment driver > > > could refer to http://lwn.net/Articles/474088/. > > > In additional, VFIO driver provides the GPU passthrough as primary > > > card > > > support. > > > I think it is more useful for further GPU passthrough support in > > > openstack. > > > > > > Openstack relies on the libvirt nodedev device configuration to do > > > pci > > > passthrough, > > > with managed mode, the configured device is automatically detached > > > and > > > re-attached > > > with KVM or VFIO driver that depended on the host driver modules > > > configuration, > > > so now we can't specify the driver in openstack to VFIO mode, I > > > think > > > we should need > > > to add this feature support in openstack to get pci passhthrough > > > more > > > scalability. > > > > > > a simply idea is to add a option in nova.conf HOST_PCI_MODEL = VFIO > > > /KVM to specify > > > the pci passthrough device driver is using VFIO driver. > > > any comments are welcome. :) > > I don't see any reason to add a configuration option. If the host is > > capable of doing VFIO, libvirt will always aim to use VFIO in preference > > to the legacy system. > Hi Daniel, > > sorry, I directly reference the implementation of nodedev in libvirt, in > function > virHostdevPreparePCIDevices : > 257 if (pcisrc->backend == VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO) > 258 virPCIDeviceSetStubDriver(pci, VIR_PCI_STUB_DRIVER_VFIO); > 259 else if (pcisrc->backend == VIR_DOMAIN_HOSTDEV_PCI_BACKEND_XEN) > 260 virPCIDeviceSetStubDriver(pci, VIR_PCI_STUB_DRIVER_XEN); > 261 else > 262 virPCIDeviceSetStubDriver(pci, VIR_PCI_STUB_DRIVER_KVM); > > IIUC, the stub driver should be "legacy KVM", do we need to change the stub > drvier > to VIR_PCI_STUB_DRIVER_VFIO by default.
If libvirt uses VFIO, then it'll use the VFIO stub driver, which is fine. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
