[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