
========================
QEMU virtio pmem
========================

 This document explains the setup and usage of the virtio pmem device
 which is available since QEMU v4.1.0.

 The virtio pmem device is a paravirtualized persistent memory device
 on regular (i.e non-NVDIMM) storage.

Usecase
--------

  Virtio pmem allows to bypass the guest page cache and directly use
  host page cache. This reduces guest memory footprint as the host can
  make efficient memory reclaim decisions under memory pressure.

o How does virtio-pmem compare to the nvdimm emulation supported by QEMU?

  NVDIMM emulation on regular (i.e. non-NVDIMM) host storage does not
  persist the guest writes as there are no defined semantics in the device
  specification. The virtio pmem device provides guest write persistence
  on non-NVDIMM host storage.

virtio pmem usage
-----------------

  A virtio pmem device backed by a memory-backend-file can be created on
  the QEMU command line as in the following example:

  -object memory-backend-file,id=mem1,share,mem-path=./virtio_pmem.img,size=4G
  -device virtio-pmem-pci,memdev=mem1,id=nv1

   where:
   - "object memory-backend-file,id=mem1,share,mem-path=<image>, size=<image size>"
     creates a backend file with the specified size.

   - "device virtio-pmem-pci,id=nvdimm1,memdev=mem1" creates a virtio pmem
     pci device whose storage is provided by above memory backend device.

  Multiple virtio pmem devices can be created if multiple pairs of "-object"
  and "-device" are provided.

Hotplug
-------

Virtio pmem devices can be hotplugged via the QEMU monitor. First, the
memory backing has to be added via 'object_add'; afterwards, the virtio
pmem device can be added via 'device_add'.

For example, the following commands add another 4GB virtio pmem device to
the guest:

 (qemu) object_add memory-backend-file,id=mem2,share=on,mem-path=virtio_pmem2.img,size=4G
 (qemu) device_add virtio-pmem-pci,id=virtio_pmem2,memdev=mem2

Guest Data Persistence
----------------------

 Guest data persistence on non-NVDIMM requires guest userspace applications
 to perform fsync/msync. This is different from a real nvdimm backend where
 no additional fsync/msync is required. This is to persist guest writes in
 host backing file which otherwise remains in host page cache and there is
 risk of losing the data in case of power failure.

 With virtio pmem device, MAP_SYNC mmap flag is not supported. This provides
 a hint to application to perform fsync for write persistence.

Limitations
------------
- Real nvdimm device backend is not supported.
- virtio pmem hotunplug is not supported.
- ACPI NVDIMM features like regions/namespaces are not supported.
- ndctl command is not supported.
