mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
conf: numa: Allow formatting 'none' values for 'associativity' and 'policy' of cache
The parser makes the values mandatory and also the qemu code implements actions for those values. The formatter skips them though. Since format+parse is used to copy the XML at startup a definition with those values can't be started. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2203709 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
0d5fc7219a
commit
af621caa6b
@ -1708,15 +1708,10 @@ virNumaCacheFormat(virBuffer *buf,
|
||||
g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf);
|
||||
|
||||
virBufferAsprintf(&attrBuf, " level='%u'", cache->level);
|
||||
if (cache->associativity) {
|
||||
virBufferAsprintf(&attrBuf, " associativity='%s'",
|
||||
virNumaCacheAssociativityTypeToString(cache->associativity));
|
||||
}
|
||||
|
||||
if (cache->policy) {
|
||||
virBufferAsprintf(&attrBuf, " policy='%s'",
|
||||
virNumaCachePolicyTypeToString(cache->policy));
|
||||
}
|
||||
|
||||
virBufferAsprintf(&childBuf,
|
||||
"<size value='%llu' unit='KiB'/>\n",
|
||||
|
49
tests/qemuxml2argvdata/numatune-hmat-none.x86_64-latest.args
Normal file
49
tests/qemuxml2argvdata/numatune-hmat-none.x86_64-latest.args
Normal file
@ -0,0 +1,49 @@
|
||||
LC_ALL=C \
|
||||
PATH=/bin \
|
||||
HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest \
|
||||
USER=test \
|
||||
LOGNAME=test \
|
||||
XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest/.local/share \
|
||||
XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest/.cache \
|
||||
XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest/.config \
|
||||
/usr/bin/qemu-system-x86_64 \
|
||||
-name guest=QEMUGuest,debug-threads=on \
|
||||
-S \
|
||||
-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest/master-key.aes"}' \
|
||||
-machine pc,usb=off,dump-guest-core=off,hmat=on,acpi=on \
|
||||
-accel tcg \
|
||||
-cpu qemu64 \
|
||||
-m 12288 \
|
||||
-overcommit mem-lock=off \
|
||||
-smp 12,sockets=12,cores=1,threads=1 \
|
||||
-object '{"qom-type":"memory-backend-ram","id":"ram-node0","size":2147483648}' \
|
||||
-numa node,nodeid=0,cpus=0-3,initiator=0,memdev=ram-node0 \
|
||||
-object '{"qom-type":"memory-backend-ram","id":"ram-node1","size":2147483648}' \
|
||||
-numa node,nodeid=1,cpus=4-7,initiator=1,memdev=ram-node1 \
|
||||
-object '{"qom-type":"memory-backend-ram","id":"ram-node2","size":2147483648}' \
|
||||
-numa node,nodeid=2,cpus=8-11,initiator=2,memdev=ram-node2 \
|
||||
-object '{"qom-type":"memory-backend-ram","id":"ram-node3","size":2147483648}' \
|
||||
-numa node,nodeid=3,initiator=0,memdev=ram-node3 \
|
||||
-object '{"qom-type":"memory-backend-ram","id":"ram-node4","size":2147483648}' \
|
||||
-numa node,nodeid=4,initiator=0,memdev=ram-node4 \
|
||||
-object '{"qom-type":"memory-backend-ram","id":"ram-node5","size":2147483648}' \
|
||||
-numa node,nodeid=5,initiator=0,memdev=ram-node5 \
|
||||
-numa hmat-lb,initiator=0,target=0,hierarchy=memory,data-type=access-latency,latency=5 \
|
||||
-numa hmat-lb,initiator=0,target=0,hierarchy=first-level,data-type=access-latency,latency=10 \
|
||||
-numa hmat-lb,initiator=0,target=0,hierarchy=memory,data-type=access-bandwidth,bandwidth=204800K \
|
||||
-numa hmat-lb,initiator=0,target=0,hierarchy=first-level,data-type=access-bandwidth,bandwidth=208896K \
|
||||
-numa hmat-cache,node-id=0,size=10K,level=1,associativity=none,policy=none,line=8 \
|
||||
-uuid c7a5fdb2-cdaf-9455-926a-d65c16db1809 \
|
||||
-display none \
|
||||
-no-user-config \
|
||||
-nodefaults \
|
||||
-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
|
||||
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||
-rtc base=utc \
|
||||
-no-shutdown \
|
||||
-boot strict=on \
|
||||
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
|
||||
-audiodev '{"id":"audio1","driver":"none"}' \
|
||||
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \
|
||||
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
|
||||
-msg timestamp=on
|
54
tests/qemuxml2argvdata/numatune-hmat-none.xml
Normal file
54
tests/qemuxml2argvdata/numatune-hmat-none.xml
Normal file
@ -0,0 +1,54 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest</name>
|
||||
<uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>8388608</memory>
|
||||
<currentMemory unit='KiB'>8388608</currentMemory>
|
||||
<vcpu placement='static'>12</vcpu>
|
||||
<os>
|
||||
<type arch='x86_64' machine='pc'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<cpu>
|
||||
<numa>
|
||||
<cell id='0' cpus='0-3' memory='2097152' unit='KiB'>
|
||||
<cache level='1' associativity='none' policy='none'>
|
||||
<size value='10' unit='KiB'/>
|
||||
<line value='8' unit='B'/>
|
||||
</cache>
|
||||
</cell>
|
||||
<cell id='1' cpus='4-7' memory='2097152' unit='KiB'/>
|
||||
<cell id='2' cpus='8-11' memory='2097152' unit='KiB'/>
|
||||
<cell id='3' memory='2097152' unit='KiB'/>
|
||||
<cell id='4' memory='2097152' unit='KiB'/>
|
||||
<cell id='5' memory='2097152' unit='KiB'/>
|
||||
<interconnects>
|
||||
<latency initiator='0' target='0' type='access' value='5'/>
|
||||
<latency initiator='0' target='0' cache='1' type='access' value='10'/>
|
||||
<bandwidth initiator='0' target='0' type='access' value='204800' unit='KiB'/>
|
||||
<bandwidth initiator='0' target='0' cache='1' type='access' value='208896' unit='KiB'/>
|
||||
</interconnects>
|
||||
</numa>
|
||||
</cpu>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
||||
<controller type='usb' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
||||
</controller>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<audio id='1' type='none'/>
|
||||
<memballoon model='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
|
||||
</memballoon>
|
||||
</devices>
|
||||
</domain>
|
@ -1875,6 +1875,7 @@ mymain(void)
|
||||
DO_TEST_NOCAPS("numatune-distances");
|
||||
DO_TEST_NOCAPS("numatune-no-vcpu");
|
||||
DO_TEST_CAPS_LATEST("numatune-hmat");
|
||||
DO_TEST_CAPS_LATEST("numatune-hmat-none");
|
||||
|
||||
DO_TEST_NOCAPS("numatune-auto-nodeset-invalid");
|
||||
DO_TEST_NOCAPS("numatune-auto-prefer");
|
||||
|
@ -0,0 +1,55 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest</name>
|
||||
<uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>8388608</memory>
|
||||
<currentMemory unit='KiB'>8388608</currentMemory>
|
||||
<vcpu placement='static'>12</vcpu>
|
||||
<os>
|
||||
<type arch='x86_64' machine='pc'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<cpu mode='custom' match='exact' check='none'>
|
||||
<model fallback='forbid'>qemu64</model>
|
||||
<numa>
|
||||
<cell id='0' cpus='0-3' memory='2097152' unit='KiB'>
|
||||
<cache level='1' associativity='none' policy='none'>
|
||||
<size value='10' unit='KiB'/>
|
||||
<line value='8' unit='B'/>
|
||||
</cache>
|
||||
</cell>
|
||||
<cell id='1' cpus='4-7' memory='2097152' unit='KiB'/>
|
||||
<cell id='2' cpus='8-11' memory='2097152' unit='KiB'/>
|
||||
<cell id='3' memory='2097152' unit='KiB'/>
|
||||
<cell id='4' memory='2097152' unit='KiB'/>
|
||||
<cell id='5' memory='2097152' unit='KiB'/>
|
||||
<interconnects>
|
||||
<latency initiator='0' target='0' type='access' value='5'/>
|
||||
<latency initiator='0' target='0' cache='1' type='access' value='10'/>
|
||||
<bandwidth initiator='0' target='0' type='access' value='204800' unit='KiB'/>
|
||||
<bandwidth initiator='0' target='0' cache='1' type='access' value='208896' unit='KiB'/>
|
||||
</interconnects>
|
||||
</numa>
|
||||
</cpu>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
||||
<controller type='usb' index='0' model='piix3-uhci'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
||||
</controller>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<audio id='1' type='none'/>
|
||||
<memballoon model='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
|
||||
</memballoon>
|
||||
</devices>
|
||||
</domain>
|
@ -855,6 +855,7 @@ mymain(void)
|
||||
DO_TEST_NOCAPS("numatune-distances");
|
||||
DO_TEST_NOCAPS("numatune-no-vcpu");
|
||||
DO_TEST("numatune-hmat", QEMU_CAPS_NUMA_HMAT);
|
||||
DO_TEST_CAPS_LATEST("numatune-hmat-none");
|
||||
DO_TEST_CAPS_LATEST("numatune-memnode-restrictive-mode");
|
||||
|
||||
DO_TEST_CAPS_LATEST("firmware-manual-bios");
|
||||
|
Loading…
x
Reference in New Issue
Block a user