[libvirt] [RFC 0/3] update NVDIMM support

Luyao Zhong luyao.zhong at intel.com
Mon Oct 29 07:54:25 UTC 2018


polite ping

On 2018/10/17 上午10:21, Luyao Zhong wrote:
> Hi libvirt experts,
> 
> This is the RFC for updating NVDIMM support in libvirt.
> 
> QEMU has supported four more properties which libvirt has not introduced
> yet, including 'align', 'pmem', 'nvdimm-persistences' and 'unarmed'.
> 
> The 'align' property allows users to specify the proper alignment. The
> previous alignment can only be 4K because QEMU use pagesize as alignment.
> But some backends may require alignments different from the pagesize.
> 
> The 'pmem' property allows users to specify whether the backend storage of
> memory-backend-file is a real persistent memory. Then QEMU will know if
> it needs to guarrantee the write persistence to the vNVDIMM backend.
> 
> The 'nvdimm-persistence' property allows users to set platform-supported
> features about NVDIMM data persistence of a guest.
> 
> The 'unarmed' property allows users to mark vNVDIMM read-only. Only the
> device DAX on the real NVDIMM can guarantee the guest write persistence,
> so it's suggested to set 'unarmed' option to 'on' and then vNVDIMM device
> will be marked as read-only.
> 
> Libvirt introduces 'alignsize', 'pmem', 'persistence' and 'unarmed' config
> elements into xml corresponding to 'align', 'pmem', 'nvdimm-persistence'
> and 'unarmed' properties in QEMU, and update xml parsing, formating and
> qemu command-line generating process for NVDIMM.
> 
> Thanks,
> Zhong, Luyao
> 
> Luyao Zhong (3):
>    xml: introduce more config elements for NVDIMM memory
>    xml: update xml parsing and formating about NVDIMM memory
>    qemu: update qemu command-line generating for NVDIMM memory
> 
>   docs/formatdomain.html.in                          |  98 +++++++++++++++---
>   docs/schemas/domaincommon.rng                      |  31 +++++-
>   src/conf/domain_conf.c                             | 115 +++++++++++++++++++--
>   src/conf/domain_conf.h                             |  14 +++
>   src/libvirt_private.syms                           |   2 +
>   src/qemu/qemu_command.c                            |  25 +++++
>   .../memory-hotplug-nvdimm-align.args               |  31 ++++++
>   .../memory-hotplug-nvdimm-align.xml                |  58 +++++++++++
>   .../memory-hotplug-nvdimm-persistence.args         |  31 ++++++
>   .../memory-hotplug-nvdimm-persistence.xml          |  58 +++++++++++
>   .../memory-hotplug-nvdimm-pmem.args                |  31 ++++++
>   .../memory-hotplug-nvdimm-pmem.xml                 |  58 +++++++++++
>   .../memory-hotplug-nvdimm-unarmed.args             |  31 ++++++
>   .../memory-hotplug-nvdimm-unarmed.xml              |  58 +++++++++++
>   tests/qemuxml2argvtest.c                           |  12 +++
>   .../memory-hotplug-nvdimm-align.xml                |   1 +
>   .../memory-hotplug-nvdimm-persistence.xml          |   1 +
>   .../memory-hotplug-nvdimm-pmem.xml                 |   1 +
>   .../memory-hotplug-nvdimm-unarmed.xml              |   1 +
>   tests/qemuxml2xmltest.c                            |   4 +
>   20 files changed, 636 insertions(+), 25 deletions(-)
>   create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.args
>   create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml
>   create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-persistence.args
>   create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-persistence.xml
>   create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.args
>   create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml
>   create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.args
>   create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml
>   create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml
>   create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-persistence.xml
>   create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml
>   create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml
> 




More information about the libvir-list mailing list