qemu: Assign slots to memory devices prior to usage

As with other devices assign the slot number right away when adding the
device. This will make the slot numbers static as we do with other
addressing elements and it will ultimately simplify allocation of the
alias in a static way which does not break with qemu.
This commit is contained in:
Peter Krempa
2016-11-01 06:07:09 +01:00
parent 93d9ff3da0
commit ce1ee02a25
7 changed files with 105 additions and 5 deletions

View File

@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=spice \
-object memory-backend-file,id=memdimm0,prealloc=yes,\
mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=1-3,\
policy=bind \
-device pc-dimm,node=0,memdev=memdimm0,id=dimm0 \
-device pc-dimm,node=0,memdev=memdimm0,id=dimm0,slot=0 \
-uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \
-nodefaults \
-monitor unix:/tmp/lib/domain--1-fedora/monitor.sock,server,nowait \

View File

@@ -12,11 +12,11 @@ QEMU_AUDIO_DRV=none \
-smp 2,sockets=2,cores=1,threads=1 \
-numa node,nodeid=0,cpus=0-1,mem=214 \
-object memory-backend-ram,id=memdimm0,size=536870912 \
-device pc-dimm,node=0,memdev=memdimm0,id=dimm0 \
-device pc-dimm,node=0,memdev=memdimm0,id=dimm0,slot=0 \
-object memory-backend-file,id=memdimm1,prealloc=yes,\
mem-path=/dev/hugepages2M/libvirt/qemu,size=536870912,host-nodes=1-3,\
policy=bind \
-device pc-dimm,node=0,memdev=memdimm1,id=dimm1 \
-device pc-dimm,node=0,memdev=memdimm1,id=dimm1,slot=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
-nographic \
-nodefaults \

View File

@@ -11,9 +11,9 @@ QEMU_AUDIO_DRV=none \
-m size=1310720k,slots=16,maxmem=4194304k \
-smp 1,sockets=1,cores=1,threads=1 \
-object memory-backend-ram,id=memdimm0,size=536870912 \
-device pc-dimm,memdev=memdimm0,id=dimm0 \
-device pc-dimm,memdev=memdimm0,id=dimm0,slot=0 \
-object memory-backend-ram,id=memdimm1,size=536870912 \
-device pc-dimm,memdev=memdimm1,id=dimm1 \
-device pc-dimm,memdev=memdimm1,id=dimm1,slot=1 \
-uuid 49545eb3-75e1-2d0a-acdd-f0294406c99e \
-nographic \
-nodefaults \

View File

@@ -47,6 +47,7 @@
<size unit='KiB'>523264</size>
<node>0</node>
</target>
<address type='dimm' slot='0'/>
</memory>
<memory model='dimm'>
<source>
@@ -57,6 +58,7 @@
<size unit='KiB'>524287</size>
<node>0</node>
</target>
<address type='dimm' slot='1'/>
</memory>
</devices>
</domain>