<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 17, 2018 at 10:25 AM Luyao Zhong <<a href="mailto:luyao.zhong@intel.com">luyao.zhong@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi libvirt experts,<br>
<br>
This is the RFC for updating NVDIMM support in libvirt.<br>
<br>
QEMU has supported four more properties which libvirt has not introduced<br>
yet, including 'align', 'pmem', 'nvdimm-persistences' and 'unarmed'.<br>
<br>
The 'align' property allows users to specify the proper alignment. The<br>
previous alignment can only be 4K because QEMU use pagesize as alignment.<br>
But some backends may require alignments different from the pagesize.<br>
<br>
The 'pmem' property allows users to specify whether the backend storage of<br>
memory-backend-file is a real persistent memory. Then QEMU will know if<br>
it needs to guarrantee the write persistence to the vNVDIMM backend.<br>
<br>
The 'nvdimm-persistence' property allows users to set platform-supported<br>
features about NVDIMM data persistence of a guest.<br>
<br>
The 'unarmed' property allows users to mark vNVDIMM read-only. Only the<br>
device DAX on the real NVDIMM can guarantee the guest write persistence,<br>
so it's suggested to set 'unarmed' option to 'on' and then vNVDIMM device<br>
will be marked as read-only.<br>
<br>
Libvirt introduces 'alignsize', 'pmem', 'persistence' and 'unarmed' config<br>
elements into xml corresponding to 'align', 'pmem', 'nvdimm-persistence'<br>
and 'unarmed' properties in QEMU, and update xml parsing, formating and<br>
qemu command-line generating process for NVDIMM.<br>
<br>
Thanks,<br>
Zhong, Luyao<br>
<br>
Luyao Zhong (3):<br>
  xml: introduce more config elements for NVDIMM memory<br>
  xml: update xml parsing and formating about NVDIMM memory<br>
  qemu: update qemu command-line generating for NVDIMM memory<br>
<br>
 docs/<a href="http://formatdomain.html.in" rel="noreferrer" target="_blank">formatdomain.html.in</a>                          |  98 +++++++++++++++---<br>
 docs/schemas/domaincommon.rng                      |  31 +++++-<br></blockquote><div>Please add a patch to update the release news in news.xml.<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 src/conf/domain_conf.c                             | 115 +++++++++++++++++++--<br>
 src/conf/domain_conf.h                             |  14 +++<br>
 src/libvirt_private.syms                           |   2 +<br>
 src/qemu/qemu_command.c                            |  25 +++++<br>
 .../memory-hotplug-nvdimm-align.args               |  31 ++++++<br>
 .../memory-hotplug-nvdimm-align.xml                |  58 +++++++++++<br>
 .../memory-hotplug-nvdimm-persistence.args         |  31 ++++++<br>
 .../memory-hotplug-nvdimm-persistence.xml          |  58 +++++++++++<br>
 .../memory-hotplug-nvdimm-pmem.args                |  31 ++++++<br>
 .../memory-hotplug-nvdimm-pmem.xml                 |  58 +++++++++++<br>
 .../memory-hotplug-nvdimm-unarmed.args             |  31 ++++++<br>
 .../memory-hotplug-nvdimm-unarmed.xml              |  58 +++++++++++<br>
 tests/qemuxml2argvtest.c                           |  12 +++<br>
 .../memory-hotplug-nvdimm-align.xml                |   1 +<br>
 .../memory-hotplug-nvdimm-persistence.xml          |   1 +<br>
 .../memory-hotplug-nvdimm-pmem.xml                 |   1 +<br>
 .../memory-hotplug-nvdimm-unarmed.xml              |   1 +<br>
 tests/qemuxml2xmltest.c                            |   4 +<br>
 20 files changed, 636 insertions(+), 25 deletions(-)<br>
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.args<br>
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml<br>
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-persistence.args<br>
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-persistence.xml<br>
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.args<br>
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml<br>
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.args<br>
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml<br>
 create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml<br>
 create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-persistence.xml<br>
 create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml<br>
 create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml<br>
<br>
-- <br>
2.7.4<br>
<br>
--<br>
libvir-list mailing list<br>
<a href="mailto:libvir-list@redhat.com" target="_blank">libvir-list@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/libvir-list" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/libvir-list</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Best regards,</div><div dir="ltr">-----------------------------------<br></div><div dir="ltr">Han Han<br>Quality Engineer<br>Redhat.<br><br>Email: <a href="mailto:hhan@redhat.com" target="_blank">hhan@redhat.com</a><br>Phone: +861065339333<br></div></div></div></div></div></div></div>