[libvirt] [PATCH v3 0/5] PCI Multifunction hotplug/unplug, part 1

Daniel Henrique Barboza danielhb413 at gmail.com
Thu Aug 29 19:18:57 UTC 2019


changes in v3:
- rebased after all PCI test changes went to master.
- a couple of patches were dropped due to redundancy with what
Michal already pushed upstream.
- patches 3 and 5 were already R-b by Michal in v2.


Hi,

In this new version I'm sending what was left to fix after
Michal pushed his "Drop KVM assignment" series, which ended
up having redundancy of fixes with the previous version.

This is the first part of the feature discussed at [1]. These
patches are mostly cleanup and fixes, thus it is beneficial
to have them upstream right away.

The whole feature can be checked out at [2]. All patches survives
unit testing. The feature was stress tested with hundreds
of consecutive hotplug/unplugs of a Broadcom BCM5719 multifunction
network card in a guest running in a Power 8 server. Hopefully
I'll find a suitable x86 env to stress test the feature there
too.

[1] https://www.redhat.com/archives/libvir-list/2019-June/msg00703.html
[2] https://github.com/danielhb/libvirt/tree/multifunction_latest

Daniel Henrique Barboza (2):
  virpcimock.c: mock /dev/vfio
  virpcimock.c: simplify getrealpath() usage

Shivaprasad G Bhat (3):
  virpcimock: Mock the SRIOV Virtual functions
  tests: Add test case for QEMU pci-hostdev hotplug
  tests: Add a baseline test for multifunction pci device use case

 src/util/virprocess.h                         |   2 +-
 tests/Makefile.am                             |   7 +
 tests/qemuhotplugtest.c                       |  40 ++-
 .../qemuhotplug-hostdev-pci.xml               |   6 +
 .../qemuhotplug-base-live+hostdev-pci.xml     |  58 +++++
 ...uhotplug-pseries-base-live+hostdev-pci.xml |  51 ++++
 .../qemuhotplug-pseries-base-live.xml         |  43 ++++
 .../hostdev-pci-multifunction.args            |  35 +++
 .../hostdev-pci-multifunction.xml             |  59 +++++
 .../hostdev-vfio-multidomain.args             |   2 +-
 .../hostdev-vfio-multidomain.xml              |   2 +-
 tests/qemuxml2argvdata/hostdev-vfio.args      |   2 +-
 tests/qemuxml2argvdata/hostdev-vfio.xml       |   2 +-
 tests/qemuxml2argvdata/net-hostdev-fail.xml   |   2 +-
 tests/qemuxml2argvdata/net-hostdev-vfio.args  |   2 +-
 tests/qemuxml2argvdata/net-hostdev-vfio.xml   |   2 +-
 tests/qemuxml2argvtest.c                      |   3 +
 .../hostdev-pci-multifunction.xml             |  79 ++++++
 tests/qemuxml2xmloutdata/hostdev-vfio.xml     |   2 +-
 tests/qemuxml2xmloutdata/net-hostdev-vfio.xml |   2 +-
 tests/qemuxml2xmltest.c                       |   1 +
 tests/virpcimock.c                            | 232 +++++++++++++++---
 tests/virpcitestdata/0000-06-12.0.config      | Bin 0 -> 256 bytes
 tests/virpcitestdata/0000-06-12.1.config      | Bin 0 -> 256 bytes
 tests/virpcitestdata/0000-06-12.2.config      | Bin 0 -> 256 bytes
 tests/virprocessmock.c                        |  28 +++
 26 files changed, 611 insertions(+), 51 deletions(-)
 create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-hostdev-pci.xml
 create mode 100644 tests/qemuhotplugtestdomains/qemuhotplug-base-live+hostdev-pci.xml
 create mode 100644 tests/qemuhotplugtestdomains/qemuhotplug-pseries-base-live+hostdev-pci.xml
 create mode 100644 tests/qemuhotplugtestdomains/qemuhotplug-pseries-base-live.xml
 create mode 100644 tests/qemuxml2argvdata/hostdev-pci-multifunction.args
 create mode 100644 tests/qemuxml2argvdata/hostdev-pci-multifunction.xml
 create mode 100644 tests/qemuxml2xmloutdata/hostdev-pci-multifunction.xml
 create mode 100644 tests/virpcitestdata/0000-06-12.0.config
 create mode 100644 tests/virpcitestdata/0000-06-12.1.config
 create mode 100644 tests/virpcitestdata/0000-06-12.2.config
 create mode 100644 tests/virprocessmock.c

-- 
2.21.0




More information about the libvir-list mailing list