[libvirt] [PATCH 0/5] Introduce NVDIMM support
Stefan Hajnoczi
stefanha at gmail.com
Thu Aug 4 08:42:20 UTC 2016
On Mon, Aug 1, 2016 at 4:10 PM, Michal Privoznik <mprivozn at redhat.com> wrote:
> NVDIMM was introduced to qemu in v2.6.0-rc0~248^2~25. So it's
> been a while since then.
>
> It's not the next big thing, but it is very interesting feature
> enabling higher performance as reading/writing to the module (and
> subsequently to the file on the host) does not require a VMEXIT.
> It can be used to access host files directly bypassing page cache
> whilst doing so.
>
>
> How to test the feature?
> 1) you need PMEM enabled kernel:
> CONFIG_LIBNVDIMM=y
> CONFIG_BLK_DEV_PMEM=m
> CONFIG_ACPI_NFIT=m
>
> 2) Create a file in the host:
> truncate -s 512M /tmp/nvdimm
>
> 3) Add the following to the domain XML:
>
> <memory model='nvdimm' memAccess='shared'>
> <source>
> <path>/tmp/nvdimm</path>
> </source>
> <target>
> <size unit='KiB'>523264</size>
> <node>0</node>
> </target>
> </memory>
The "nvdimm" device also has a label-size property. This determines
the size of the Namespace Label area described in:
http://pmem.io/documents/NVDIMM_Namespace_Spec.pdf
By default no Namespace Label area is reserved in the file. If the
user specifies label-size then the memory at the end of the file is
used as the Namespace Label area.
It is necessary to expose label-size so users can choose whether or
not to have a Namespace Label area.
I have CCed Guangrong Xiao who authored the QEMU patches.
Stefan
More information about the libvir-list
mailing list