From nobody Sun Feb 8 11:59:23 2026
Delivered-To: importer@patchew.org
Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39
as permitted sender) client-ip=209.132.183.39;
envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com;
Authentication-Results: mx.zoho.com;
spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
Return-Path:
Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by
mx.zohomail.com
with SMTPS id 1489075830020679.3798617761187;
Thu, 9 Mar 2017 08:10:30 -0800 (PST)
Received: from lists01.pubmisc.prod.ext.phx2.redhat.com
(lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33])
by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v29G6te9058578;
Thu, 9 Mar 2017 11:06:55 -0500
Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com
[10.5.11.28])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id v29G6Z9O032402 for ;
Thu, 9 Mar 2017 11:06:35 -0500
Received: by smtp.corp.redhat.com (Postfix)
id 551892D5C0; Thu, 9 Mar 2017 16:06:35 +0000 (UTC)
Received: from moe.brq.redhat.com (dhcp129-131.brq.redhat.com [10.34.129.131])
by smtp.corp.redhat.com (Postfix) with ESMTP id AA4562D653
for ; Thu, 9 Mar 2017 16:06:34 +0000 (UTC)
From: Michal Privoznik
To: libvir-list@redhat.com
Date: Thu, 9 Mar 2017 17:06:14 +0100
Message-Id:
In-Reply-To:
References:
In-Reply-To:
References:
X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28
X-loop: libvir-list@redhat.com
Subject: [libvirt] [PATCH v3 05/17] Introduce NVDIMM memory model
X-BeenThere: libvir-list@redhat.com
X-Mailman-Version: 2.1.12
Precedence: junk
List-Id: Development discussions about the libvirt library & tools
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Sender: libvir-list-bounces@redhat.com
Errors-To: libvir-list-bounces@redhat.com
X-ZohoMail: RSF_0 Z_629925259 SPT_0
Content-Type: text/plain; charset="utf-8"
NVDIMM is new type of memory introduced into QEMU 2.6. The idea
is that we have a Non-Volatile memory module that keeps the data
persistent across domain reboots.
At the domain XML level, we already have some representation of
'dimm' modules. Long story short, we have element that
lives under . Now, the element even has @model
attribute which we can use to introduce new memory type:
/tmp/nvdimm5232640
So far, this is just a XML parser/formatter extension. QEMU
driver implementation is in the next commit.
For more info on NVDIMM visit the following web page:
http://pmem.io/
Signed-off-by: Michal Privoznik
---
docs/formatdomain.html.in | 56 +++++++++----
docs/schemas/domaincommon.rng | 32 ++++---
src/conf/domain_conf.c | 97 ++++++++++++++++--=
----
src/conf/domain_conf.h | 2 +
src/qemu/qemu_command.c | 6 ++
src/qemu/qemu_domain.c | 5 ++
.../qemuxml2argv-memory-hotplug-nvdimm.xml | 56 +++++++++++++
.../qemuxml2xmlout-memory-hotplug-nvdimm.xml | 1 +
tests/qemuxml2xmltest.c | 1 +
9 files changed, 205 insertions(+), 51 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-nvdi=
mm.xml
create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-memory-hotplug-=
nvdimm.xml
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 3095111c4..6e89bfe3a 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -7091,7 +7091,6 @@ qemu-kvm -net nic,model=3D? /dev/null
guests' memory resource needs.
=20
Some hypervisors may require NUMA configured for the guest.
- Since 1.2.14
- Currently only the dimm model is supported in order=
to
- add a virtual DIMM module to the guest.
+ Provide dimm to add a virtual DIMM module to the gu=
est.
+ Since 1.2.14
+ Provide nvdimm model adds a Non-Volatile DIMM
+ module. Since 3.2.0
=20
source
- The optional source element allows to fine tune the source of the
- memory used for the given memory device. If the element is not
- provided defaults configured via numatune are used.
+ For model dimm this element is optional and allows =
to
+ fine tune the source of the memory used for the given memory dev=
ice.
+ If the element is not provided defaults configured via
+ numatune are used. If dimm is provided,
+ then the following optional elements can be provided as well:
-
- pagesize can optionally be used to override the def=
ault
- host page size used for backing the memory device.
=20
- The configured value must correspond to a page size supported by=
the
- host.
-
+
+
pagesize
+
+
+ This element can be used to override the default
+ host page size used for backing the memory device.
+ The configured value must correspond to a page size
+ supported by the host.
+
+
+
+
nodemask
+
+
+ This element can be used to override the default
+ set of NUMA nodes where the memory would be
+ allocated.
+
+
+
+
- nodemask can optionally be used to override the def=
ault
- set of NUMA nodes where the memory would be allocated.
+ For model nvdimm this element is mandatory and has a
+ single child element path that represents a path
+ in the host that backs the nvdimm module in the guest.