<div dir="ltr"><p style="margin:0in;font-family:Calibri;font-size:11pt">I am trying to
create a VM with added persistent memory using virsh. It fails when persistent
memory namespace size is larger than available system memory. Please see error below, prealloc=yes is set in the command line. For dax type namespace, as I understand, prealloc
should not be needed. Is this support to add persistent memory implemented in
virsh? If so, how to set prealloc=no? Anything else needed to add in xml for persistent memory? Thanks.</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </p>
<ol type="1" style="margin-left:0.375in;direction:ltr;unicode-bidi:embed;margin-top:0in;margin-bottom:0in;font-family:Calibri;font-size:11pt">
<li value="1" style="margin-top:0px;margin-bottom:0px;vertical-align:middle"><span style="font-size:11pt">dax namespace (400GB) which
is larger than system memory.</span></li>
</ol>
<p style="margin:0in;font-family:Calibri;font-size:11pt"># ndctl create-namespace -t pmem -m devdax --align=4k -s 400G {</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "dev":"namespace1.0",</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "mode":"devdax",</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "map":"dev",</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "size":"393.75 GiB (422.78
GB)",</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">
"uuid":"00670b70-7871-4749-a901-9184b7a388d8",</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">
"raw_uuid":"a5a1d3f8-01e4-45a2-bad1-38fd09bf4672",</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "daxregion":{</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "id":1,</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "size":"393.75 GiB (422.78
GB)",</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "align":4096,</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "devices":[</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> {</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "chardev":"dax1.0",</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "size":"393.75 GiB
(422.78 GB)"</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> }</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> ]</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> },</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> "numa_node":1</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">}</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">2. Relevant parts of
xml</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"><domain
type='kvm'></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <name>test</name></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">
<uuid>02c49a19-ce9e-4320-9a6b-1ebf0913a10e</uuid></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <maxMemory slots='16'
unit='KiB'>459800576</maxMemory></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <memory
unit='KiB'>65536000</memory></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <currentMemory
unit='KiB'>65536000</currentMemory></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <vcpu placement='static'>4</vcpu></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <os></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">:</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">:</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"><cpu
mode='custom' match='exact' check='partial'></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <feature policy='require'
name='hypervisor'/></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <numa></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <cell id='0' cpus='0-3'
memory='65536000' unit='KiB'/></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </numa></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </cpu></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">:</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">:</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <memory model='nvdimm'></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <source></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <path>/dev/dax1.0</path></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </source></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <target></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <size unit='GiB'>376</size></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <node>0</node></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <label></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <size
unit='KiB'>128</size></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </label></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </target></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> <address type='dimm' slot='0'/></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </memory></p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">3. Error:</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"># virsh start test</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">error: Failed to
start domain test</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">error: internal
error: qemu unexpectedly closed the monitor: ftruncate: Invalid argument
2019-08-22T04:16:08.744402Z qemu-system-x86_64: -object
memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/dev/dax1.0,size=403726925824:
unable to map backing store for guest RAM: Cannot allocate memory</p>
<p style="margin:0in;font-family:Calibri;font-size:11pt"> </p>
<p style="margin:0in;font-family:Calibri;font-size:11pt">Virsh version 4.7.0,
qemu version 3.0.0</p></div>