On Thu, Nov 03, 2011 at 07:55:20PM +0800, Hu Tao wrote:
This patch adds two parameters: strict and exclusive that we can
get/set through cpuset.
---
src/conf/domain_conf.c | 15 +++++++++++++++
src/conf/domain_conf.h | 2 ++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 0cf3bb7..02a144b 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -6802,6 +6802,10 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps,
VIR_FREE(nodes);
/* Extract numatune if exists. */
+
+ def->numatune.strict = 0;
+ def->numatune.exclusive = 0;
+
if ((n = virXPathNodeSet("./numatune", ctxt, NULL)) < 0) {
virDomainReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("cannot extract numatune
nodes"));
@@ -6829,6 +6833,13 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps,
"%s", _("nodeset for NUMA memory tuning
must be set"));
goto error;
}
+
+ if (virXPathNode("./numatune/strict", ctxt)) {
+ def->numatune.strict = 1;
+ }
+ if (virXPathNode("./numatune/exclusive", ctxt)) {
+ def->numatune.exclusive = 1;
+ }
}
n = virXPathNodeSet("./features/*", ctxt, &nodes);
@@ -10876,6 +10887,10 @@ virDomainDefFormatInternal(virDomainDefPtr def,
virBufferAsprintf(buf, " <memory nodeset='%s'/>\n",
nodemask);
VIR_FREE(nodemask);
+ if (def->numatune.strict)
+ virBufferAsprintf(buf, " <strict/>\n");
+ if (def->numatune.exclusive)
+ virBufferAsprintf(buf, " <exclusive/>\n");
virBufferAddLit(buf, " </numatune>\n");
}
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index ca68437..f3dbece 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1355,6 +1355,8 @@ struct _virDomainNumatuneDef {
char *nodemask;
} memory;
+ int strict;
+ int exclusive;
/* Future NUMA tuning related stuff should go here. */
};
NACK to this for the same reason as the previous patch - we can't simply
change the XML format at will to suit a new backend implementation.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|