qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-discuss] [Qemu-devel] Devdax backend for vnvdimm not working


From: Luyao Zhong
Subject: Re: [Qemu-discuss] [Qemu-devel] Devdax backend for vnvdimm not working
Date: Wed, 16 Jan 2019 14:01:54 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1



On 2019/1/16 下午1:49, Yi Zhang wrote:
On 2019-01-15 at 22:51:09 +0000, Kamal Kakri via Qemu-devel wrote:
  My devdax device is 2MB aligned so I dont think this is alignment related.# 
ndctl list -X -n namespace0.0
[
   {
     "dev":"namespace0.0",
     "mode":"devdax",
     "map":"dev",
     "size":16909336576,
     "uuid":"e5265c0a-d902-41ce-b1d1-87a78c358aa4",
     "daxregion":{
       "id":0,
       "size":16909336576,
       "align":2097152,  ------------------------->
       "devices":[
         {
           "chardev":"dax0.0",
           "size":16909336576
         }
       ]
     }
   }
]


I even tried to create vnvdimm of exact same size as my devdax namespace, 
thinking that it would not need to ftruncate in that case but I still get the 
same error:
# virsh start fox22vm
start: domain(optdata): fox22vm
start: found option <domain>: fox22vm
start: <domain> trying as domain NAME
error: Failed to start domain fox22vm
error: internal error: qemu unexpectedly closed the monitor: ftruncate: Invalid 
argument
2019-01-15T21:58:52.647221Z qemu-kvm: -object 
memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/dev/dax0.0,share=yes,size=16909336576:
 unable to map backing store for guest RAM: Invalid argument


Has anyone ever got devdax backed vnvdimm configured and working?
If yes then pls let me know what libvirt/qemu/kernel version you have used to 
get it working.

Thanks.
     On Tuesday, January 15, 2019, 3:13:27 PM EST, Kamal Kakri <address@hidden> 
wrote:
Hi,

I have a namespace (backed by real nvdimm h/w) configured in devdax mode:
# ndctl list -N -n namespace0.0
[
   {
     "dev":"namespace0.0",
     "mode":"devdax",
     "map":"dev",
     "size":16909336576,
     "uuid":"e5265c0a-d902-41ce-b1d1-87a78c358aa4",
     "chardev":"dax0.0"
   }
]


When I try to configure my vm using "virsh" with something like this:
     <memory model='nvdimm' access='shared'>
       <source>
         <path>/dev/dax0.0</path>
         <align unit='KiB'>2048</align>
this should be alignsize, Add Luyao.
This option is supported in Libvirt master now, will be in release 5.0.0. I noticed that you use v4.5.0, it doesn't support 'alignsize' and 'pmem'.
         <pmem/>
       </source>
       <target>
         <size unit='KiB'>2097152</size>
         <node>0</node>
       </target>
       <alias name='nvdimm0'/>
       <address type='dimm' slot='0'/>
     </memory>


I get an error while starting my vm:
# virsh start fox22vm
start: domain(optdata): fox22vm
start: found option <domain>: fox22vm
start: <domain> trying as domain NAME
error: Failed to start domain fox22vm
error: internal error: qemu unexpectedly closed the monitor: ftruncate: Invalid 
argument
2019-01-15T18:00:36.587467Z qemu-kvm: -object 
memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/dev/dax0.0,share=yes,size=2147483648:
 unable to map backing store for guest RAM: Invalid argument

I have tried to add "align unit" to my virsh xml but it does not seem to pass 
it onto qemu (as much as I can see from the qemu cmd line in the logs at 
/var/log/libvirt/qemu)


Can anyone pls hint as to what possibly could be the issue ? Is this alignment 
related or something else ?

Here are my versions:
# virsh --version
4.5.0
address@hidden libexec]# /usr/libexec/qemu-kvm --version
QEMU emulator version 2.12.0 (qemu-kvm-rhev-2.12.0-18.el7_6.1)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
# uname -a
Linux fox22hv 4.19.0-1.el7.elrepo.x86_64 #1 SMP Mon Oct 22 10:40:32 EDT 2018 
x86_64 x86_64 x86_64 GNU/Linux







reply via email to

[Prev in Thread] Current Thread [Next in Thread]