From nobody Fri May 16 06:35:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1497606614041758.5709846570462; Fri, 16 Jun 2017 02:50:14 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9D7267F3FA; Fri, 16 Jun 2017 09:50:12 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6DB7D9457B; Fri, 16 Jun 2017 09:50:12 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 26BEB180BAFD; Fri, 16 Jun 2017 09:50:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v5G9o8FV031451 for ; Fri, 16 Jun 2017 05:50:08 -0400 Received: by smtp.corp.redhat.com (Postfix) id D055C7F35E; Fri, 16 Jun 2017 09:50:08 +0000 (UTC) Received: from inaba.usersys.redhat.com (ovpn-12-86.pek2.redhat.com [10.72.12.86]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 974A17F35C for ; Fri, 16 Jun 2017 09:50:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 9D7267F3FA Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 9D7267F3FA From: Andrea Bolognani To: libvir-list@redhat.com Date: Fri, 16 Jun 2017 17:49:03 +0800 Message-Id: <1497606548-18870-20-git-send-email-abologna@redhat.com> In-Reply-To: <1497606548-18870-1-git-send-email-abologna@redhat.com> References: <1497606548-18870-1-git-send-email-abologna@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 19/24] tests: Add baseline tests for automatic PHB usage X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Fri, 16 Jun 2017 09:50:13 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" These tests demonstrate that, while it's now possible for the user to create PHB explicitly and manually assign devices to them, libvirt still defaults to extending the guest PCI topology using PCI bridges and making suboptimal device placement choices. The next few commits will improve on these behaviors and the tests outputs will automatically be updated to reflect this. Signed-off-by: Andrea Bolognani --- .../qemuxml2argv-pseries-hostdevs-1.args | 23 ++++ .../qemuxml2argv-pseries-hostdevs-1.xml | 38 +++++++ .../qemuxml2argv-pseries-hostdevs-2.args | 24 ++++ .../qemuxml2argv-pseries-hostdevs-2.xml | 37 ++++++ .../qemuxml2argv-pseries-hostdevs-3.args | 24 ++++ .../qemuxml2argv-pseries-hostdevs-3.xml | 31 +++++ .../qemuxml2argv-pseries-many-buses-1.args | 22 ++++ .../qemuxml2argv-pseries-many-buses-1.xml | 19 ++++ .../qemuxml2argv-pseries-many-buses-2.args | 22 ++++ .../qemuxml2argv-pseries-many-buses-2.xml | 18 +++ .../qemuxml2argv-pseries-many-devices.args | 53 +++++++++ .../qemuxml2argv-pseries-many-devices.xml | 48 ++++++++ tests/qemuxml2argvtest.c | 36 ++++++ .../qemuxml2xmlout-pseries-hostdevs-1.xml | 46 ++++++++ .../qemuxml2xmlout-pseries-hostdevs-2.xml | 47 ++++++++ .../qemuxml2xmlout-pseries-hostdevs-3.xml | 49 ++++++++ .../qemuxml2xmlout-pseries-many-buses-1.xml | 33 ++++++ .../qemuxml2xmlout-pseries-many-buses-2.xml | 34 ++++++ .../qemuxml2xmlout-pseries-many-devices.xml | 126 +++++++++++++++++= ++++ tests/qemuxml2xmltest.c | 36 ++++++ 20 files changed, 766 insertions(+) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-1.= args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-1.= xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-2.= args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-2.= xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-3.= args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-3.= xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-= 1.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-= 1.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-= 2.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-= 2.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-many-device= s.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-many-device= s.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-hostdev= s-1.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-hostdev= s-2.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-hostdev= s-3.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-many-bu= ses-1.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-many-bu= ses-2.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-many-de= vices.xml diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-1.args b/= tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-1.args new file mode 100644 index 0000000..88eb081 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-1.args @@ -0,0 +1,23 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-ppc64 \ +-name guest \ +-S \ +-M pseries \ +-m 512 \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-nographic \ +-nodefconfig \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-guest/monitor.s= ock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline \ +-boot c \ +-device vfio-pci,host=3D0001:01:00.0,id=3Dhostdev0,bus=3Dpci.0,addr=3D0x1 \ +-device vfio-pci,host=3D0005:90:01.0,id=3Dhostdev1,bus=3Dpci.0,addr=3D0x2 \ +-device vfio-pci,host=3D0001:01:00.1,id=3Dhostdev2,bus=3Dpci.0,addr=3D0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-1.xml b/t= ests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-1.xml new file mode 100644 index 0000000..87fe145 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-1.xml @@ -0,0 +1,38 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 524288 + 1 + + hvm + + + /usr/bin/qemu-system-ppc64 + + + + +
+ + + + + + +
+ + + + + + +
+ + + + + + diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-2.args b/= tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-2.args new file mode 100644 index 0000000..c43e15d --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-2.args @@ -0,0 +1,24 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-ppc64 \ +-name guest \ +-S \ +-M pseries \ +-m 512 \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-nographic \ +-nodefconfig \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-guest/monitor.s= ock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline \ +-boot c \ +-device pci-bridge,chassis_nr=3D1,id=3Dpci.1,bus=3Dpci.0,addr=3D0x1 \ +-device virtio-scsi-pci,id=3Dscsi0,bus=3Dpci.1,addr=3D0x1 \ +-device vfio-pci,host=3D0001:01:00.0,id=3Dhostdev0,bus=3Dpci.1,addr=3D0x2 \ +-device vfio-pci,host=3D0005:90:01.0,id=3Dhostdev1,bus=3Dpci.0,addr=3D0x2 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-2.xml b/t= ests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-2.xml new file mode 100644 index 0000000..551b588 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-2.xml @@ -0,0 +1,37 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 524288 + 1 + + hvm + + + /usr/bin/qemu-system-ppc64 + + +
+ + + + + +
+ +
+ + + + + +
+ + + + + + diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-3.args b/= tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-3.args new file mode 100644 index 0000000..99df2e7 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-3.args @@ -0,0 +1,24 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-ppc64 \ +-name guest \ +-S \ +-M pseries \ +-m 512 \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-nographic \ +-nodefconfig \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-guest/monitor.s= ock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline \ +-boot c \ +-device pci-bridge,chassis_nr=3D1,id=3Dpci.1,bus=3Dpci.0,addr=3D0x1 \ +-device pci-bridge,chassis_nr=3D2,id=3Dpci.2,bus=3Dpci.0,addr=3D0x2 \ +-device vfio-pci,host=3D0001:01:00.0,id=3Dhostdev0,bus=3Dpci.2,addr=3D0x1 \ +-device vfio-pci,host=3D0001:01:00.1,id=3Dhostdev1,bus=3Dpci.0,addr=3D0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-3.xml b/t= ests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-3.xml new file mode 100644 index 0000000..0e61a17 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-hostdevs-3.xml @@ -0,0 +1,31 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 524288 + 1 + + hvm + + + /usr/bin/qemu-system-ppc64 + + + + +
+ +
+ + + + + +
+ + + + + + diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-1.args = b/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-1.args new file mode 100644 index 0000000..bf78fc1 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-1.args @@ -0,0 +1,22 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-ppc64 \ +-name guest \ +-S \ +-M pseries \ +-m 512 \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-nographic \ +-nodefconfig \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-guest/monitor.s= ock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline \ +-boot c \ +-device pci-bridge,chassis_nr=3D1,id=3Dpci.1,bus=3Dpci.0,addr=3D0x1 \ +-device virtio-scsi-pci,id=3Dscsi0,bus=3Dpci.1,addr=3D0x1 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-1.xml b= /tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-1.xml new file mode 100644 index 0000000..c52349d --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-buses-1.xml @@ -0,0 +1,19 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 524288 + 1 + + hvm + + + /usr/bin/qemu-system-ppc64 + + + + + + + diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-devices.args = b/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-devices.args new file mode 100644 index 0000000..1db4533 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-devices.args @@ -0,0 +1,53 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-ppc64 \ +-name guest \ +-S \ +-M pseries \ +-m 512 \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-nographic \ +-nodefconfig \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-guest/monitor.s= ock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline \ +-boot c \ +-device pci-bridge,chassis_nr=3D1,id=3Dpci.1,bus=3Dpci.0,addr=3D0x1 \ +-device virtio-scsi-pci,id=3Dscsi0,bus=3Dpci.0,addr=3D0x2 \ +-device virtio-scsi-pci,id=3Dscsi1,bus=3Dpci.0,addr=3D0x3 \ +-device virtio-scsi-pci,id=3Dscsi2,bus=3Dpci.0,addr=3D0x4 \ +-device virtio-scsi-pci,id=3Dscsi3,bus=3Dpci.0,addr=3D0x5 \ +-device virtio-scsi-pci,id=3Dscsi4,bus=3Dpci.0,addr=3D0x6 \ +-device virtio-scsi-pci,id=3Dscsi5,bus=3Dpci.0,addr=3D0x7 \ +-device virtio-scsi-pci,id=3Dscsi6,bus=3Dpci.0,addr=3D0x8 \ +-device virtio-scsi-pci,id=3Dscsi7,bus=3Dpci.0,addr=3D0x9 \ +-device virtio-scsi-pci,id=3Dscsi8,bus=3Dpci.0,addr=3D0xa \ +-device virtio-scsi-pci,id=3Dscsi9,bus=3Dpci.0,addr=3D0xb \ +-device virtio-scsi-pci,id=3Dscsi10,bus=3Dpci.0,addr=3D0xc \ +-device virtio-scsi-pci,id=3Dscsi11,bus=3Dpci.0,addr=3D0xd \ +-device virtio-scsi-pci,id=3Dscsi12,bus=3Dpci.0,addr=3D0xe \ +-device virtio-scsi-pci,id=3Dscsi13,bus=3Dpci.0,addr=3D0xf \ +-device virtio-scsi-pci,id=3Dscsi14,bus=3Dpci.0,addr=3D0x10 \ +-device virtio-scsi-pci,id=3Dscsi15,bus=3Dpci.0,addr=3D0x11 \ +-device virtio-scsi-pci,id=3Dscsi16,bus=3Dpci.0,addr=3D0x12 \ +-device virtio-scsi-pci,id=3Dscsi17,bus=3Dpci.0,addr=3D0x13 \ +-device virtio-scsi-pci,id=3Dscsi18,bus=3Dpci.0,addr=3D0x14 \ +-device virtio-scsi-pci,id=3Dscsi19,bus=3Dpci.0,addr=3D0x15 \ +-device virtio-scsi-pci,id=3Dscsi20,bus=3Dpci.0,addr=3D0x16 \ +-device virtio-scsi-pci,id=3Dscsi21,bus=3Dpci.0,addr=3D0x17 \ +-device virtio-scsi-pci,id=3Dscsi22,bus=3Dpci.0,addr=3D0x18 \ +-device virtio-scsi-pci,id=3Dscsi23,bus=3Dpci.0,addr=3D0x19 \ +-device virtio-scsi-pci,id=3Dscsi24,bus=3Dpci.0,addr=3D0x1a \ +-device virtio-scsi-pci,id=3Dscsi25,bus=3Dpci.0,addr=3D0x1b \ +-device virtio-scsi-pci,id=3Dscsi26,bus=3Dpci.0,addr=3D0x1c \ +-device virtio-scsi-pci,id=3Dscsi27,bus=3Dpci.0,addr=3D0x1d \ +-device virtio-scsi-pci,id=3Dscsi28,bus=3Dpci.0,addr=3D0x1e \ +-device virtio-scsi-pci,id=3Dscsi29,bus=3Dpci.0,addr=3D0x1f \ +-device virtio-scsi-pci,id=3Dscsi30,bus=3Dpci.1,addr=3D0x1 \ +-device virtio-scsi-pci,id=3Dscsi31,bus=3Dpci.1,addr=3D0x2 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-devices.xml b= /tests/qemuxml2argvdata/qemuxml2argv-pseries-many-devices.xml new file mode 100644 index 0000000..f3daba4 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-many-devices.xml @@ -0,0 +1,48 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 524288 + 1 + + hvm + + + /usr/bin/qemu-system-ppc64 +