[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