From nobody Sun Feb 8 17:47:04 2026
Delivered-To: importer@patchew.org
Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.37
as permitted sender) client-ip=209.132.183.37;
envelope-from=libvir-list-bounces@redhat.com; helo=mx5-phx2.redhat.com;
Authentication-Results: mx.zoho.com;
spf=pass (zoho.com: domain of redhat.com designates 209.132.183.37 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
Return-Path:
Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by
mx.zohomail.com
with SMTPS id 1487840897123895.7235981432905;
Thu, 23 Feb 2017 01:08:17 -0800 (PST)
Received: from lists01.pubmisc.prod.ext.phx2.redhat.com
(lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33])
by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1N94lo5016568;
Thu, 23 Feb 2017 04:04:47 -0500
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id v1N93MMl009824 for ;
Thu, 23 Feb 2017 04:03:22 -0500
Received: from moe.brq.redhat.com (dhcp129-131.brq.redhat.com [10.34.129.131])
by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with
ESMTP id v1N93H6g012322; Thu, 23 Feb 2017 04:03:21 -0500
From: Michal Privoznik
To: libvir-list@redhat.com
Date: Thu, 23 Feb 2017 10:02:46 +0100
Message-Id:
<7c803464c8e76df99f7ebb1fa7de739a4611c6d2.1487839955.git.mprivozn@redhat.com>
In-Reply-To:
References:
In-Reply-To:
References:
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
X-loop: libvir-list@redhat.com
Subject: [libvirt] [PATCH 03/14] 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 | 55 ++++++++----
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, 204 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 02ce7924c..b76905cdc 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -7007,7 +7007,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.1.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 optionally be used to override the default
+ host page size used for backing the memory device.
+ The configured value must correspond to a page size supporte=
d by the
+ host.
+
+
+
+
nodemask
+
+
+ This element can optionally 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.