[libvirt] [PATCH v2 0/7] PCI Multifunction hotplug/unplug, part 1

Daniel Henrique Barboza posted 7 patches 4 years, 9 months ago
Test syntax-check passed
Failed in applying to current master (apply log)
There is a newer version of this series
src/util/virhostdev.c                         |  74 +++++--
src/util/virprocess.h                         |   2 +-
tests/Makefile.am                             |   7 +
tests/qemuhotplugtest.c                       |  42 +++-
.../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/virhostdevtest.c                        |   4 +-
tests/virpcimock.c                            | 201 ++++++++++++++++--
tests/virpcitest.c                            |  12 +-
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 +++
29 files changed, 668 insertions(+), 55 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
[libvirt] [PATCH v2 0/7] PCI Multifunction hotplug/unplug, part 1
Posted by Daniel Henrique Barboza 4 years, 9 months ago
v2:
- rebased without 3 patches from Michal that are under review
in his NVMe patch series

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 (1):
  util/virhostdev: enhance VFIO device is in use detection

Shivaprasad G Bhat (6):
  tests: Fix the iommu group path in mock pci
  tests: pci: Mock the iommu groups and vfio
  virpcitest: Change the stub driver to vfio from pci-stub
  virpcimock: Mock the SRIOV Virtual functions
  tests: qemu: Add test case for pci-hostdev hotplug
  tests: Add a baseline test for multifunction pci device use case

 src/util/virhostdev.c                         |  74 +++++--
 src/util/virprocess.h                         |   2 +-
 tests/Makefile.am                             |   7 +
 tests/qemuhotplugtest.c                       |  42 +++-
 .../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/virhostdevtest.c                        |   4 +-
 tests/virpcimock.c                            | 201 ++++++++++++++++--
 tests/virpcitest.c                            |  12 +-
 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 +++
 29 files changed, 668 insertions(+), 55 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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v2 0/7] PCI Multifunction hotplug/unplug, part 1
Posted by Michal Privoznik 4 years, 8 months ago
On 7/25/19 8:09 PM, Daniel Henrique Barboza wrote:
 >

Huh, looks like we have came across same bugs recently. Well, great 
minds think alike :D
So I guess the resolution might be this: I'll merge my patches as soon 
as I get review and then you can repost your patches (it's going to be 
shorter series that way).

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list