qemu-devel
[Top][All Lists]
Advanced

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

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


From: Kamal Kakri
Subject: Re: [Qemu-devel] Devdax backend for vnvdimm not working
Date: Tue, 15 Jan 2019 22:51:09 +0000 (UTC)

 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>
        <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]