[libvirt] [RFC PATCH v1 4/4] tests: add various tests to exercise vNUMA host partitioning

Wim Ten Have wim.ten.have at oracle.com
Mon Oct 21 19:21:08 UTC 2019


From: Wim ten Have <wim.ten.have at oracle.com>

Tests for the new <vnuma> element and its variations.

Signed-off-by: Wim ten Have <wim.ten.have at oracle.com>
---
 .../cpu-host-passthrough-nonuma.args          |  29 ++++
 .../cpu-host-passthrough-nonuma.xml           |  19 +++
 .../cpu-host-passthrough-numa-contiguous.args |  37 ++++++
 .../cpu-host-passthrough-numa-contiguous.xml  |  20 +++
 .../cpu-host-passthrough-numa-interleave.args |  41 ++++++
 .../cpu-host-passthrough-numa-interleave.xml  |  19 +++
 ...host-passthrough-numa-node-contiguous.args |  53 ++++++++
 ...-host-passthrough-numa-node-contiguous.xml |  21 +++
 ...host-passthrough-numa-node-interleave.args |  41 ++++++
 ...-host-passthrough-numa-node-interleave.xml |  22 +++
 ...ost-passthrough-numa-node-round-robin.args | 125 ++++++++++++++++++
 ...host-passthrough-numa-node-round-robin.xml |  21 +++
 ...u-host-passthrough-numa-node-siblings.args |  32 +++++
 ...pu-host-passthrough-numa-node-siblings.xml |  23 ++++
 ...cpu-host-passthrough-numa-round-robin.args |  37 ++++++
 .../cpu-host-passthrough-numa-round-robin.xml |  22 +++
 .../cpu-host-passthrough-numa-siblings.args   |  37 ++++++
 .../cpu-host-passthrough-numa-siblings.xml    |  20 +++
 .../cpu-host-passthrough-numa.args            |  37 ++++++
 .../cpu-host-passthrough-numa.xml             |  20 +++
 tests/qemuxml2argvtest.c                      |  10 ++
 21 files changed, 686 insertions(+)
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-nonuma.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-nonuma.xml
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-contiguous.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-contiguous.xml
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-interleave.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-interleave.xml
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-contiguous.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-contiguous.xml
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-interleave.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-interleave.xml
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-round-robin.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-round-robin.xml
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-siblings.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-siblings.xml
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-round-robin.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-round-robin.xml
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-siblings.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa-siblings.xml
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa.args
 create mode 100644 tests/qemuxml2argvdata/cpu-host-passthrough-numa.xml

diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-nonuma.args b/tests/qemuxml2argvdata/cpu-host-passthrough-nonuma.args
new file mode 100644
index 000000000000..197bda882a01
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-nonuma.args
@@ -0,0 +1,29 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 214 \
+-realtime mlock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-nonuma.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-nonuma.xml
new file mode 100644
index 000000000000..c7838aed8e12
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-nonuma.xml
@@ -0,0 +1,19 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <currentMemory unit='KiB'>219100</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='network'/>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-contiguous.args b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-contiguous.args
new file mode 100644
index 000000000000..6a59cf7b44e6
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-contiguous.args
@@ -0,0 +1,37 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 216 \
+-realtime mlock=off \
+-smp 1,maxcpus=16,sockets=4,cores=4,threads=1 \
+-object memory-backend-ram,id=ram-node0,size=56623104,host-nodes=0,policy=bind \
+-numa node,nodeid=0,cpus=0-3,memdev=ram-node0 \
+-object memory-backend-ram,id=ram-node1,size=56623104,host-nodes=1,policy=bind \
+-numa node,nodeid=1,cpus=4-7,memdev=ram-node1 \
+-object memory-backend-ram,id=ram-node2,size=56623104,host-nodes=2,policy=bind \
+-numa node,nodeid=2,cpus=8-11,memdev=ram-node2 \
+-object memory-backend-ram,id=ram-node3,size=56623104,host-nodes=3,policy=bind \
+-numa node,nodeid=3,cpus=12-15,memdev=ram-node3 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-contiguous.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-contiguous.xml
new file mode 100644
index 000000000000..7fcb0e8997d9
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-contiguous.xml
@@ -0,0 +1,20 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <currentMemory unit='KiB'>219100</currentMemory>
+  <vcpu placement='static'>16</vcpu>
+  <vnuma mode='host' distribution='contiguous'/>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='network'/>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-interleave.args b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-interleave.args
new file mode 100644
index 000000000000..58bb366062f5
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-interleave.args
@@ -0,0 +1,41 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 216 \
+-realtime mlock=off \
+-smp 1,maxcpus=24,sockets=24,cores=1,threads=1 \
+-object memory-backend-ram,id=ram-node0,size=56623104,host-nodes=0,policy=bind \
+-numa node,nodeid=0,cpus=0,cpus=4,cpus=8,cpus=12,cpus=16,cpus=20,\
+memdev=ram-node0 \
+-object memory-backend-ram,id=ram-node1,size=56623104,host-nodes=1,policy=bind \
+-numa node,nodeid=1,cpus=1,cpus=5,cpus=9,cpus=13,cpus=17,cpus=21,\
+memdev=ram-node1 \
+-object memory-backend-ram,id=ram-node2,size=56623104,host-nodes=2,policy=bind \
+-numa node,nodeid=2,cpus=2,cpus=6,cpus=10,cpus=14,cpus=18,cpus=22,\
+memdev=ram-node2 \
+-object memory-backend-ram,id=ram-node3,size=56623104,host-nodes=3,policy=bind \
+-numa node,nodeid=3,cpus=3,cpus=7,cpus=11,cpus=15,cpus=19,cpus=23,\
+memdev=ram-node3 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-interleave.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-interleave.xml
new file mode 100644
index 000000000000..86e385808511
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-interleave.xml
@@ -0,0 +1,19 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <currentMemory unit='KiB'>219100</currentMemory>
+  <vcpu placement='static'>24</vcpu>
+  <vnuma mode='host' distribution='interleave'/>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-contiguous.args b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-contiguous.args
new file mode 100644
index 000000000000..bd360976e553
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-contiguous.args
@@ -0,0 +1,53 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 32768 \
+-realtime mlock=off \
+-smp 1,maxcpus=16,sockets=8,cores=2,threads=1 \
+-object memory-backend-ram,id=ram-node0,size=4294967296,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=0,cpus=0-1,memdev=ram-node0 \
+-object memory-backend-ram,id=ram-node1,size=4294967296,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=1,cpus=2-3,memdev=ram-node1 \
+-object memory-backend-ram,id=ram-node2,size=4294967296,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=2,cpus=4-5,memdev=ram-node2 \
+-object memory-backend-ram,id=ram-node3,size=4294967296,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=3,cpus=6-7,memdev=ram-node3 \
+-object memory-backend-ram,id=ram-node4,size=4294967296,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=4,cpus=8-9,memdev=ram-node4 \
+-object memory-backend-ram,id=ram-node5,size=4294967296,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=5,cpus=10-11,memdev=ram-node5 \
+-object memory-backend-ram,id=ram-node6,size=4294967296,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=6,cpus=12-13,memdev=ram-node6 \
+-object memory-backend-ram,id=ram-node7,size=4294967296,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=7,cpus=14-15,memdev=ram-node7 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-contiguous.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-contiguous.xml
new file mode 100644
index 000000000000..4c71ca30cc47
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-contiguous.xml
@@ -0,0 +1,21 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='GiB'>32</memory>
+  <vcpu placement='static'>16</vcpu>
+  <vnuma mode='node' distribution='contiguous'>
+    <partition nodeset='1,2' cells='8'/>
+  </vnuma>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='network'/>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-interleave.args b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-interleave.args
new file mode 100644
index 000000000000..c7e591ebf48b
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-interleave.args
@@ -0,0 +1,41 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 18 \
+-realtime mlock=off \
+-smp 1,maxcpus=24,sockets=24,cores=1,threads=1 \
+-object memory-backend-ram,id=ram-node0,size=3145728,host-nodes=0,policy=bind \
+-numa node,nodeid=0,cpus=0,cpus=6,cpus=12,cpus=18,memdev=ram-node0 \
+-object memory-backend-ram,id=ram-node1,size=3145728,host-nodes=1,policy=bind \
+-numa node,nodeid=1,cpus=1,cpus=7,cpus=13,cpus=19,memdev=ram-node1 \
+-object memory-backend-ram,id=ram-node2,size=3145728,host-nodes=2,policy=bind \
+-numa node,nodeid=2,cpus=2,cpus=8,cpus=14,cpus=20,memdev=ram-node2 \
+-object memory-backend-ram,id=ram-node3,size=3145728,host-nodes=3,policy=bind \
+-numa node,nodeid=3,cpus=3,cpus=9,cpus=15,cpus=21,memdev=ram-node3 \
+-object memory-backend-ram,id=ram-node4,size=3145728,host-nodes=0,policy=bind \
+-numa node,nodeid=4,cpus=4,cpus=10,cpus=16,cpus=22,memdev=ram-node4 \
+-object memory-backend-ram,id=ram-node5,size=3145728,host-nodes=1,policy=bind \
+-numa node,nodeid=5,cpus=5,cpus=11,cpus=17,cpus=23,memdev=ram-node5 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-interleave.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-interleave.xml
new file mode 100644
index 000000000000..ddfb8c06b4f2
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-interleave.xml
@@ -0,0 +1,22 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <currentMemory unit='KiB'>219100</currentMemory>
+  <vcpu placement='static'>24</vcpu>
+  <vnuma mode='node' distribution='interleave'>
+    <memory unit='Kib'>12345</memory>
+    <partition cells='6'/>
+  </vnuma>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-round-robin.args b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-round-robin.args
new file mode 100644
index 000000000000..3758c10a2e18
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-round-robin.args
@@ -0,0 +1,125 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 2097152 \
+-realtime mlock=off \
+-smp 1,maxcpus=128,sockets=32,cores=4,threads=1 \
+-object memory-backend-ram,id=ram-node0,size=68719476736,host-nodes=0,\
+policy=bind \
+-numa node,nodeid=0,cpus=0,cpus=32,cpus=64,cpus=96,memdev=ram-node0 \
+-object memory-backend-ram,id=ram-node1,size=68719476736,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=1,cpus=1,cpus=33,cpus=65,cpus=97,memdev=ram-node1 \
+-object memory-backend-ram,id=ram-node2,size=68719476736,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=2,cpus=2,cpus=34,cpus=66,cpus=98,memdev=ram-node2 \
+-object memory-backend-ram,id=ram-node3,size=68719476736,host-nodes=3,\
+policy=bind \
+-numa node,nodeid=3,cpus=3,cpus=35,cpus=67,cpus=99,memdev=ram-node3 \
+-object memory-backend-ram,id=ram-node4,size=68719476736,host-nodes=0,\
+policy=bind \
+-numa node,nodeid=4,cpus=4,cpus=36,cpus=68,cpus=100,memdev=ram-node4 \
+-object memory-backend-ram,id=ram-node5,size=68719476736,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=5,cpus=5,cpus=37,cpus=69,cpus=101,memdev=ram-node5 \
+-object memory-backend-ram,id=ram-node6,size=68719476736,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=6,cpus=6,cpus=38,cpus=70,cpus=102,memdev=ram-node6 \
+-object memory-backend-ram,id=ram-node7,size=68719476736,host-nodes=3,\
+policy=bind \
+-numa node,nodeid=7,cpus=7,cpus=39,cpus=71,cpus=103,memdev=ram-node7 \
+-object memory-backend-ram,id=ram-node8,size=68719476736,host-nodes=0,\
+policy=bind \
+-numa node,nodeid=8,cpus=8,cpus=40,cpus=72,cpus=104,memdev=ram-node8 \
+-object memory-backend-ram,id=ram-node9,size=68719476736,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=9,cpus=9,cpus=41,cpus=73,cpus=105,memdev=ram-node9 \
+-object memory-backend-ram,id=ram-node10,size=68719476736,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=10,cpus=10,cpus=42,cpus=74,cpus=106,memdev=ram-node10 \
+-object memory-backend-ram,id=ram-node11,size=68719476736,host-nodes=3,\
+policy=bind \
+-numa node,nodeid=11,cpus=11,cpus=43,cpus=75,cpus=107,memdev=ram-node11 \
+-object memory-backend-ram,id=ram-node12,size=68719476736,host-nodes=0,\
+policy=bind \
+-numa node,nodeid=12,cpus=12,cpus=44,cpus=76,cpus=108,memdev=ram-node12 \
+-object memory-backend-ram,id=ram-node13,size=68719476736,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=13,cpus=13,cpus=45,cpus=77,cpus=109,memdev=ram-node13 \
+-object memory-backend-ram,id=ram-node14,size=68719476736,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=14,cpus=14,cpus=46,cpus=78,cpus=110,memdev=ram-node14 \
+-object memory-backend-ram,id=ram-node15,size=68719476736,host-nodes=3,\
+policy=bind \
+-numa node,nodeid=15,cpus=15,cpus=47,cpus=79,cpus=111,memdev=ram-node15 \
+-object memory-backend-ram,id=ram-node16,size=68719476736,host-nodes=0,\
+policy=bind \
+-numa node,nodeid=16,cpus=16,cpus=48,cpus=80,cpus=112,memdev=ram-node16 \
+-object memory-backend-ram,id=ram-node17,size=68719476736,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=17,cpus=17,cpus=49,cpus=81,cpus=113,memdev=ram-node17 \
+-object memory-backend-ram,id=ram-node18,size=68719476736,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=18,cpus=18,cpus=50,cpus=82,cpus=114,memdev=ram-node18 \
+-object memory-backend-ram,id=ram-node19,size=68719476736,host-nodes=3,\
+policy=bind \
+-numa node,nodeid=19,cpus=19,cpus=51,cpus=83,cpus=115,memdev=ram-node19 \
+-object memory-backend-ram,id=ram-node20,size=68719476736,host-nodes=0,\
+policy=bind \
+-numa node,nodeid=20,cpus=20,cpus=52,cpus=84,cpus=116,memdev=ram-node20 \
+-object memory-backend-ram,id=ram-node21,size=68719476736,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=21,cpus=21,cpus=53,cpus=85,cpus=117,memdev=ram-node21 \
+-object memory-backend-ram,id=ram-node22,size=68719476736,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=22,cpus=22,cpus=54,cpus=86,cpus=118,memdev=ram-node22 \
+-object memory-backend-ram,id=ram-node23,size=68719476736,host-nodes=3,\
+policy=bind \
+-numa node,nodeid=23,cpus=23,cpus=55,cpus=87,cpus=119,memdev=ram-node23 \
+-object memory-backend-ram,id=ram-node24,size=68719476736,host-nodes=0,\
+policy=bind \
+-numa node,nodeid=24,cpus=24,cpus=56,cpus=88,cpus=120,memdev=ram-node24 \
+-object memory-backend-ram,id=ram-node25,size=68719476736,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=25,cpus=25,cpus=57,cpus=89,cpus=121,memdev=ram-node25 \
+-object memory-backend-ram,id=ram-node26,size=68719476736,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=26,cpus=26,cpus=58,cpus=90,cpus=122,memdev=ram-node26 \
+-object memory-backend-ram,id=ram-node27,size=68719476736,host-nodes=3,\
+policy=bind \
+-numa node,nodeid=27,cpus=27,cpus=59,cpus=91,cpus=123,memdev=ram-node27 \
+-object memory-backend-ram,id=ram-node28,size=68719476736,host-nodes=0,\
+policy=bind \
+-numa node,nodeid=28,cpus=28,cpus=60,cpus=92,cpus=124,memdev=ram-node28 \
+-object memory-backend-ram,id=ram-node29,size=68719476736,host-nodes=1,\
+policy=bind \
+-numa node,nodeid=29,cpus=29,cpus=61,cpus=93,cpus=125,memdev=ram-node29 \
+-object memory-backend-ram,id=ram-node30,size=68719476736,host-nodes=2,\
+policy=bind \
+-numa node,nodeid=30,cpus=30,cpus=62,cpus=94,cpus=126,memdev=ram-node30 \
+-object memory-backend-ram,id=ram-node31,size=68719476736,host-nodes=3,\
+policy=bind \
+-numa node,nodeid=31,cpus=31,cpus=63,cpus=95,cpus=127,memdev=ram-node31 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-round-robin.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-round-robin.xml
new file mode 100644
index 000000000000..7d89a6d05303
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-round-robin.xml
@@ -0,0 +1,21 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='TiB'>2</memory>
+  <vcpu placement='static'>128</vcpu>
+  <vnuma mode='node' distribution='round-robin'>
+    <partition cells='32'/>
+  </vnuma>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='network'/>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-siblings.args b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-siblings.args
new file mode 100644
index 000000000000..7b7cb522073b
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-siblings.args
@@ -0,0 +1,32 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 4096 \
+-realtime mlock=off \
+-smp 1,maxcpus=16,sockets=1,cores=16,threads=1 \
+-object memory-backend-ram,id=ram-node0,size=4294967296,host-nodes=0,\
+policy=bind \
+-numa node,nodeid=0,cpus=0-15,memdev=ram-node0 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-siblings.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-siblings.xml
new file mode 100644
index 000000000000..8fd65ac571c9
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-node-siblings.xml
@@ -0,0 +1,23 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <currentMemory unit='KiB'>219100</currentMemory>
+  <vcpu placement='static'>16</vcpu>
+  <vnuma mode='node' distribution='siblings'>
+    <memory unit='GiB'>4</memory>
+    <partition nodeset='0' cells='1'/>
+  </vnuma>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='network'/>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-round-robin.args b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-round-robin.args
new file mode 100644
index 000000000000..8628e8be6c71
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-round-robin.args
@@ -0,0 +1,37 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 216 \
+-realtime mlock=off \
+-smp 1,maxcpus=16,sockets=4,cores=4,threads=1 \
+-object memory-backend-ram,id=ram-node0,size=56623104,host-nodes=0,policy=bind \
+-numa node,nodeid=0,cpus=0,cpus=4,cpus=8,cpus=12,memdev=ram-node0 \
+-object memory-backend-ram,id=ram-node1,size=56623104,host-nodes=1,policy=bind \
+-numa node,nodeid=1,cpus=1,cpus=5,cpus=9,cpus=13,memdev=ram-node1 \
+-object memory-backend-ram,id=ram-node2,size=56623104,host-nodes=2,policy=bind \
+-numa node,nodeid=2,cpus=2,cpus=6,cpus=10,cpus=14,memdev=ram-node2 \
+-object memory-backend-ram,id=ram-node3,size=56623104,host-nodes=3,policy=bind \
+-numa node,nodeid=3,cpus=3,cpus=7,cpus=11,cpus=15,memdev=ram-node3 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-round-robin.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-round-robin.xml
new file mode 100644
index 000000000000..d4795c549f62
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-round-robin.xml
@@ -0,0 +1,22 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <currentMemory unit='KiB'>219100</currentMemory>
+  <vcpu placement='static'>16</vcpu>
+  <vnuma mode='host' distribution='round-robin'>
+    <memory unit='KiB'>219100</memory>
+  </vnuma>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='network'/>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-siblings.args b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-siblings.args
new file mode 100644
index 000000000000..6a59cf7b44e6
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-siblings.args
@@ -0,0 +1,37 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 216 \
+-realtime mlock=off \
+-smp 1,maxcpus=16,sockets=4,cores=4,threads=1 \
+-object memory-backend-ram,id=ram-node0,size=56623104,host-nodes=0,policy=bind \
+-numa node,nodeid=0,cpus=0-3,memdev=ram-node0 \
+-object memory-backend-ram,id=ram-node1,size=56623104,host-nodes=1,policy=bind \
+-numa node,nodeid=1,cpus=4-7,memdev=ram-node1 \
+-object memory-backend-ram,id=ram-node2,size=56623104,host-nodes=2,policy=bind \
+-numa node,nodeid=2,cpus=8-11,memdev=ram-node2 \
+-object memory-backend-ram,id=ram-node3,size=56623104,host-nodes=3,policy=bind \
+-numa node,nodeid=3,cpus=12-15,memdev=ram-node3 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa-siblings.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-siblings.xml
new file mode 100644
index 000000000000..9cf3794a4c11
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa-siblings.xml
@@ -0,0 +1,20 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <currentMemory unit='KiB'>219100</currentMemory>
+  <vcpu placement='static'>16</vcpu>
+  <vnuma mode='host' distribution='siblings'/>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='network'/>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa.args b/tests/qemuxml2argvdata/cpu-host-passthrough-numa.args
new file mode 100644
index 000000000000..6a59cf7b44e6
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa.args
@@ -0,0 +1,37 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name QEMUGuest1 \
+-S \
+-machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-cpu host \
+-m 216 \
+-realtime mlock=off \
+-smp 1,maxcpus=16,sockets=4,cores=4,threads=1 \
+-object memory-backend-ram,id=ram-node0,size=56623104,host-nodes=0,policy=bind \
+-numa node,nodeid=0,cpus=0-3,memdev=ram-node0 \
+-object memory-backend-ram,id=ram-node1,size=56623104,host-nodes=1,policy=bind \
+-numa node,nodeid=1,cpus=4-7,memdev=ram-node1 \
+-object memory-backend-ram,id=ram-node2,size=56623104,host-nodes=2,policy=bind \
+-numa node,nodeid=2,cpus=8-11,memdev=ram-node2 \
+-object memory-backend-ram,id=ram-node3,size=56623104,host-nodes=3,policy=bind \
+-numa node,nodeid=3,cpus=12-15,memdev=ram-node3 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-numa.xml b/tests/qemuxml2argvdata/cpu-host-passthrough-numa.xml
new file mode 100644
index 000000000000..eae23a5ea24f
--- /dev/null
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-numa.xml
@@ -0,0 +1,20 @@
+<domain type='kvm'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <currentMemory unit='KiB'>219100</currentMemory>
+  <vcpu placement='static'>16</vcpu>
+  <vnuma mode='host'/>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='network'/>
+  </os>
+  <cpu mode='host-passthrough' check='none'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 122e14b07175..9554ac0c6fc3 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1732,6 +1732,16 @@ mymain(void)
                  ARG_FLAGS, FLAG_SKIP_LEGACY_CPUS | FLAG_EXPECT_FAILURE,
                  ARG_QEMU_CAPS, NONE);
     DO_TEST("cpu-host-passthrough", QEMU_CAPS_KVM);
+    DO_TEST("cpu-host-passthrough-numa", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+    DO_TEST("cpu-host-passthrough-numa-contiguous", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+    DO_TEST("cpu-host-passthrough-numa-node-contiguous", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+    DO_TEST("cpu-host-passthrough-numa-siblings", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+    DO_TEST("cpu-host-passthrough-numa-node-siblings", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+    DO_TEST("cpu-host-passthrough-numa-round-robin", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+    DO_TEST("cpu-host-passthrough-numa-node-round-robin", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+    DO_TEST("cpu-host-passthrough-numa-interleave", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+    DO_TEST("cpu-host-passthrough-numa-node-interleave", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+    DO_TEST("cpu-host-passthrough-nonuma", QEMU_CAPS_NUMA);
     DO_TEST_FAILURE("cpu-qemu-host-passthrough", QEMU_CAPS_KVM);
 
     qemuTestSetHostArch(driver.caps, VIR_ARCH_S390X);
-- 
2.21.0




More information about the libvir-list mailing list