Re: [openstack-dev] [nova][pci-passthrough] definitely specify VFIO driver as the host PCI driver for passthrough

2016-06-24 Thread Chen Fan



On 2016年06月24日 16:55, Daniel P. Berrange wrote:

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.

Thanks for you kind explanation, I have reread //the code about the
implementation of pci driver backend in libvirt, you are right, by default
the backend driver is VFIO.

Thanks,
Chen





Regards,
Daniel


--
Sincerely,
Chen Fan

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova][pci-passthrough] definitely specify VFIO driver as the host PCI driver for passthrough

2016-06-24 Thread Daniel P. Berrange
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: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova][pci-passthrough] definitely specify VFIO driver as the host PCI driver for passthrough

2016-06-24 Thread Chen Fan



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.

Thanks,
Chen




Regards,
Daniel


--
Sincerely,
Chen Fan


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova][pci-passthrough] definitely specify VFIO driver as the host PCI driver for passthrough

2016-06-24 Thread Daniel P. Berrange
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.


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: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [nova][pci-passthrough] definitely specify VFIO driver as the host PCI driver for passthrough

2016-06-23 Thread Chen Fan

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. :)

Thanks,
Chen



--
Sincerely,
Chen Fan


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev