mirror of https://gitee.com/openkylin/libvirt.git
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(&attrBuf, " associativity='%s'",
|
||||
virNumaCacheAssociativityTypeToString(cache->associativity));
|
||||
virBufferAsprintf(&attrBuf, " policy='%s'",
|
||||
virNumaCachePolicyTypeToString(cache->policy));
|
||||
|
||||
virBufferAsprintf(&childBuf,
|
||||
"<size value='%llu' unit='KiB'/>\n",
|
||||
|
|
|
@ -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
|
|
@ -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…
Reference in New Issue