On 10/12/2012 11:50 AM, Osier Yang wrote:
When vcpu placement is "auto", the domain process will be
pinned
to advisory nodeset from querying numad, While emulatorpin will
override the pinning. That means both of them are to set the
pinning policy for domain process, but conflicts with each other.
This patch prohibit specifiying emulatorpin if vcpu placement
is "auto". See more details in PATCH 1/7.
---
src/conf/domain_conf.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 17254e3..dda3a12 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -8873,6 +8873,13 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps,
}
if (n) {
+ if (def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO) {
+ virReportError(VIR_ERR_XML_ERROR, "%s",
+ _("emulatorpin is not allowed when vcpu "
+ "placement is auto"))
+ goto error;
+ }
+
if (n > 1) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("only one emulatorpin is supported"));
This is the same thing as with those vcpupins before. We cannot make
old machines onloadable.
Martin