[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Devdax backend for vnvdimm not working
From: |
Wei Yang |
Subject: |
Re: [Qemu-devel] Devdax backend for vnvdimm not working |
Date: |
Wed, 16 Jan 2019 09:12:33 +0800 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Tue, Jan 15, 2019 at 08:13:27PM +0000, Kamal Kakri via Qemu-devel 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"
> }
>]
>
Above is your host configuration, right?
>
>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 am not familiar with virsh, while I guess align here is the parameter passed
to qemu.
Hmm... as I being told, the alignment should be 128M.
>
>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
The error message here shows the error is caused by mmap for an invalid
argument. Hmm... but I am not sure which one is incorrect.
Usually I run qemu directly, here is a qemu command line which works at my
side:
qemu/x86_64-softmmu/qemu-system-x86_64 -machine pc,nvdimm \
-m 6G,slots=4,maxmem=128G -smp 8 --enable-kvm \
-drive file=/home/richard/guest/fedora29.img,format=raw -nographic \
-drive file=/home/richard/guest/project.img,format=raw \
-object
memory-backend-file,id=mem1,share=on,mem-path=/dev/dax0.0,size=10G,align=128M \
-device nvdimm,id=nvdimm1,memdev=mem1,label-size=128k
Maybe you can compare the difference between your virsh result to see the
difference.
>
>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
>
>
>
--
Wei Yang
Help you, Help me