[libvirt] [PATCHv2 00/12] remains of 'support VFIO groups'

Laine Stump laine at laine.org
Tue Jun 25 03:05:26 UTC 2013


This is what remains of yesterday's VFIO groups patchset that is
considered still useful, but wasn't yet ACKed (I've pushed the 5 that
were ACKed). In addition, I found a few more bugs in the
virPCIDeviceList handling and have included patches for those. There
are a couple of these that would be really nice to get into 1.0.7, one
in particular which is new functionality, but has 4 prerequisites:

The most important patch here from a functionality point of view is
PATCH 05/12, which adds the <iommuGroup> element to the output of
"virsh nodedev-dumpxml". This is essential for users/management
applications to have adequate information to know which devices need
to be detached from host drivers.  (Unfortunately, all of the patches
prior to 05/12 are required for 05/12 to cleanly apply.)

The other new patch that I've been told is important is 08/12, which
supresses reset of PCI devices that were/will be assigned using VFIO -
apparently the vfio driver already resets the devices when
appropriate, so having libvirt do it is just redundant. (In order for
08/12 to operate reliably, 07/12 is required, and in order for 07/12
to apply, 06/12 must also be applied).

If someone ACKs any of these patches prior to DV cutting the first rc
and I don't respond on IRC (not sure what my schedule is in the next
12 hours :-), please feel free to push any of them you like, as long
as you push them in order with none missing from the middle.

Laine Stump (12):
  pci: eliminate unused driver arg from virPCIDeviceDetach
  pci: rename virPCIDeviceGetVFIOGroupDev to
    virPCIDeviceGetIOMMUGroupDev
  pci: make virPCIParseDeviceAddress public
  pci: new iommu_group functions
  nodedev: add iommuGroup to node device object
  pci: eliminate repetitive path constructions in
    virPCIDeviceBindToStub
  pci: update stubDriver name in virPCIDeviceBindToStub
  qemu: don't reset PCI devices being assigned with VFIO
  pci: virPCIDeviceListAddCopy API
  pci: eliminate leak in OOM condition
  pci: fix dangling pointer in qemuDomainReAttachHostdevDevices
  qemu: fix infinite loop in OOM error path

 docs/formatnode.html.in                            |  63 +++-
 docs/schemas/nodedev.rng                           |  11 +
 src/conf/node_device_conf.c                        |  86 +++++-
 src/conf/node_device_conf.h                        |   5 +-
 src/libvirt_private.syms                           |   8 +-
 src/node_device/node_device_udev.c                 |  21 +-
 src/qemu/qemu_cgroup.c                             |   4 +-
 src/qemu/qemu_driver.c                             |   2 +-
 src/qemu/qemu_hostdev.c                            |  52 ++--
 src/qemu/qemu_hotplug.c                            |   5 +-
 src/security/security_apparmor.c                   |   2 +-
 src/security/security_dac.c                        |   4 +-
 src/security/security_selinux.c                    |   4 +-
 src/util/virpci.c                                  | 344 +++++++++++++++++----
 src/util/virpci.h                                  |  21 +-
 src/xen/xen_driver.c                               |   2 +-
 tests/nodedevschemadata/pci_8086_10c9_sriov_pf.xml |  16 +
 tests/nodedevxml2xmltest.c                         |   1 +
 18 files changed, 553 insertions(+), 98 deletions(-)
 create mode 100644 tests/nodedevschemadata/pci_8086_10c9_sriov_pf.xml

-- 
1.7.11.7




More information about the libvir-list mailing list