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

Daniel Henrique Barboza posted 5 patches 4 years, 8 months ago
Test syntax-check passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20190829191902.10084-1-danielhb413@gmail.com
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
[libvirt] [PATCH v3 0/5] PCI Multifunction hotplug/unplug, part 1
Posted by Daniel Henrique Barboza 4 years, 8 months ago
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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 0/5] PCI Multifunction hotplug/unplug, part 1
Posted by Michal Privoznik 4 years, 7 months ago
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

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