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

Michal Privoznik mprivozn at redhat.com
Mon Sep 9 14:44:51 UTC 2019


On 8/29/19 9:18 PM, Daniel Henrique Barboza wrote:
> 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
> 

I've fixed 1/5, ACKed all of them and pushed.

Michal




More information about the libvir-list mailing list