conf: add support for specifying CPU "dies" parameter

Recently CPU hardware vendors have started to support a new structure
inside the CPU package topology known as a "die". Thus the hierarchy
is now:

  sockets > dies > cores > threads

This adds support for "dies" in the XML parser, with the value
defaulting to 1 if not specified for backwards compatibility.

For example a system with 64 logical CPUs might report

   <topology sockets="4" dies="2" cores="4" threads="2"/>

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2019-12-16 11:16:51 +00:00
parent bd04d63ad9
commit fbf27730a3
98 changed files with 148 additions and 101 deletions

View File

@ -173,7 +173,7 @@
&lt;/features&gt;
&lt;model&gt;core2duo&lt;/model&gt;
&lt;vendor&gt;Intel&lt;/vendor&gt;
&lt;topology sockets="1" cores="2" threads="1"/&gt;
&lt;topology sockets="1" dies="1" cores="2" threads="1"/&gt;
&lt;feature name="lahf_lm"/&gt;
&lt;feature name='xtpr'/&gt;
...

View File

@ -1470,7 +1470,7 @@
&lt;cpu match='exact'&gt;
&lt;model fallback='allow'&gt;core2duo&lt;/model&gt;
&lt;vendor&gt;Intel&lt;/vendor&gt;
&lt;topology sockets='1' cores='2' threads='1'/&gt;
&lt;topology sockets='1' dies='1' cores='2' threads='1'/&gt;
&lt;cache level='3' mode='emulate'/&gt;
&lt;feature policy='disable' name='lahf_lm'/&gt;
&lt;/cpu&gt;
@ -1479,7 +1479,7 @@
<pre>
&lt;cpu mode='host-model'&gt;
&lt;model fallback='forbid'/&gt;
&lt;topology sockets='1' cores='2' threads='1'/&gt;
&lt;topology sockets='1' dies='1' cores='2' threads='1'/&gt;
&lt;/cpu&gt;
...</pre>
@ -1498,7 +1498,7 @@
<pre>
...
&lt;cpu&gt;
&lt;topology sockets='1' cores='2' threads='1'/&gt;
&lt;topology sockets='1' dies='1' cores='2' threads='1'/&gt;
&lt;/cpu&gt;
...</pre>
@ -1673,13 +1673,15 @@
<dt><code>topology</code></dt>
<dd>The <code>topology</code> element specifies requested topology of
virtual CPU provided to the guest. Three non-zero values have to be
given for <code>sockets</code>, <code>cores</code>, and
<code>threads</code>: total number of CPU sockets, number of cores per
socket, and number of threads per core, respectively. Hypervisors may
require that the maximum number of vCPUs specified by the
<code>cpus</code> element equals to the number of vcpus resulting
from the topology.</dd>
virtual CPU provided to the guest. Four attributes, <code>sockets</code>,
<code>dies</code>, <code>cores</code>, and <code>threads</code>,
accept non-zero positive integer values. They refer to the total number
of CPU sockets, number of dies per socket, number of cores per die, and
number of threads per core, respectively. The <code>dies</code>
attribute is optional and will default to 1 if omitted, while the other
attributes are all mandatory. Hypervisors may require that the maximum
number of vCPUs specified by the <code>cpus</code> element equals to
the number of vcpus resulting from the topology.</dd>
<dt><code>feature</code></dt>
<dd>The <code>cpu</code> element can contain zero or more

View File

@ -86,6 +86,11 @@
<attribute name="sockets">
<ref name="positiveInteger"/>
</attribute>
<optional>
<attribute name="dies">
<ref name="positiveInteger"/>
</attribute>
</optional>
<attribute name="cores">
<ref name="positiveInteger"/>
</attribute>

View File

@ -453,6 +453,11 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn,
/* CPUs */
virCommandAddArg(cmd, "-c");
if (def->cpu && def->cpu->sockets) {
if (def->dies != 1) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Only 1 die per socket is supported"));
goto cleanup;
}
if (nvcpus != def->cpu->sockets * def->cpu->cores * def->cpu->threads) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Invalid CPU topology: total number of vCPUs "

View File

@ -239,6 +239,7 @@ virCPUDefCopyWithoutModel(const virCPUDef *cpu)
copy->check = cpu->check;
copy->fallback = cpu->fallback;
copy->sockets = cpu->sockets;
copy->dies = cpu->dies;
copy->cores = cpu->cores;
copy->threads = cpu->threads;
copy->arch = cpu->arch;
@ -535,6 +536,17 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
}
def->sockets = (unsigned int) ul;
if (virXPathNode("./topology[1]/@dies", ctxt)) {
if (virXPathULong("string(./topology[1]/@dies)", ctxt, &ul) < 0) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("Malformed 'dies' attribute in CPU topology"));
goto cleanup;
}
def->dies = (unsigned int) ul;
} else {
def->dies = 1;
}
if (virXPathULong("string(./topology[1]/@cores)", ctxt, &ul) < 0) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("Missing 'cores' attribute in CPU topology"));
@ -549,7 +561,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
}
def->threads = (unsigned int) ul;
if (!def->sockets || !def->cores || !def->threads) {
if (!def->sockets || !def->cores || !def->threads || !def->dies) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("Invalid CPU topology"));
goto cleanup;
@ -817,9 +829,10 @@ virCPUDefFormatBuf(virBufferPtr buf,
virBufferAddLit(buf, "/>\n");
}
if (def->sockets && def->cores && def->threads) {
if (def->sockets && def->dies && def->cores && def->threads) {
virBufferAddLit(buf, "<topology");
virBufferAsprintf(buf, " sockets='%u'", def->sockets);
virBufferAsprintf(buf, " dies='%u'", def->dies);
virBufferAsprintf(buf, " cores='%u'", def->cores);
virBufferAsprintf(buf, " threads='%u'", def->threads);
virBufferAddLit(buf, "/>\n");
@ -1058,6 +1071,12 @@ virCPUDefIsEqual(virCPUDefPtr src,
return false;
}
if (src->dies != dst->dies) {
MISMATCH(_("Target CPU dies %d does not match source %d"),
dst->dies, src->dies);
return false;
}
if (src->cores != dst->cores) {
MISMATCH(_("Target CPU cores %d does not match source %d"),
dst->cores, src->cores);

View File

@ -134,6 +134,7 @@ struct _virCPUDef {
char *vendor;
unsigned int microcodeVersion;
unsigned int sockets;
unsigned int dies;
unsigned int cores;
unsigned int threads;
size_t nfeatures;

View File

@ -2053,7 +2053,8 @@ virDomainDefGetVcpusTopology(const virDomainDef *def,
tmp = def->cpu->sockets;
/* multiplication of 32bit numbers fits into a 64bit variable */
if ((tmp *= def->cpu->cores) > UINT_MAX ||
if ((tmp *= def->cpu->dies) > UINT_MAX ||
(tmp *= def->cpu->cores) > UINT_MAX ||
(tmp *= def->cpu->threads) > UINT_MAX) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("cpu topology results in more than %u cpus"), UINT_MAX);

View File

@ -421,6 +421,7 @@ virCPUGetHost(virArch arch,
if (nodeInfo) {
cpu->sockets = nodeInfo->sockets;
cpu->dies = 1;
cpu->cores = nodeInfo->cores;
cpu->threads = nodeInfo->threads;
}

View File

@ -186,6 +186,7 @@ libxlCapsInitCPU(virCapsPtr caps, libxl_physinfo *phy_info,
cpu->type = VIR_CPU_TYPE_HOST;
cpu->cores = phy_info->cores_per_socket;
cpu->threads = phy_info->threads_per_core;
cpu->dies = 1;
cpu->sockets = phy_info->nr_cpus / (cpu->cores * cpu->threads);
caps->host.cpu = cpu;

View File

@ -7109,6 +7109,11 @@ qemuBuildSmpCommandLine(virCommandPtr cmd,
/* sockets, cores, and threads are either all zero
* or all non-zero, thus checking one of them is enough */
if (def->cpu && def->cpu->sockets) {
if (def->cpu->dies != 1) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Only 1 die per socket is supported"));
return -1;
}
virBufferAsprintf(&buf, ",sockets=%u", def->cpu->sockets);
virBufferAsprintf(&buf, ",cores=%u", def->cpu->cores);
virBufferAsprintf(&buf, ",threads=%u", def->cpu->threads);

View File

@ -1485,6 +1485,7 @@ virVMXParseConfig(virVMXContext *ctx,
"'numvcpus'"));
goto cleanup;
}
cpu->dies = 1;
cpu->cores = coresPerSocket;
cpu->threads = 1;
@ -3206,6 +3207,12 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDe
goto cleanup;
}
if (def->cpu->dies != 1) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Only 1 die per socket is supported"));
goto cleanup;
}
calculated_vcpus = def->cpu->sockets * def->cpu->cores;
if (calculated_vcpus != maxvcpus) {
virReportError(VIR_ERR_INTERNAL_ERROR,

View File

@ -1,6 +1,6 @@
<cpu mode='custom' match='exact'>
<model fallback='allow'>486</model>
<topology sockets='2' cores='4' threads='1'/>
<topology sockets='2' dies='1' cores='4' threads='1'/>
<feature policy='require' name='de'/>
<feature policy='require' name='tsc'/>
<feature policy='require' name='msr'/>

View File

@ -1,6 +1,6 @@
<cpu mode='custom' match='exact'>
<model fallback='allow'>Nehalem</model>
<topology sockets='2' cores='4' threads='1'/>
<topology sockets='2' dies='1' cores='4' threads='1'/>
<feature policy='force' name='pbe'/>
<feature policy='force' name='monitor'/>
<feature policy='require' name='xtpr'/>

View File

@ -1,6 +1,6 @@
<cpu mode='custom' match='exact'>
<model fallback='allow'>Penryn</model>
<topology sockets='2' cores='4' threads='1'/>
<topology sockets='2' dies='1' cores='4' threads='1'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='xtpr'/>
<feature policy='disable' name='sse4.2'/>

View File

@ -1,6 +1,6 @@
<cpu mode='custom' match='exact'>
<model fallback='allow'>Penryn</model>
<topology sockets='2' cores='4' threads='1'/>
<topology sockets='2' dies='1' cores='4' threads='1'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='xtpr'/>
<feature policy='disable' name='sse4.2'/>

View File

@ -1,7 +1,7 @@
<cpu mode='custom' match='exact'>
<model fallback='forbid'>Penryn</model>
<vendor>Intel</vendor>
<topology sockets='1' cores='2' threads='1'/>
<topology sockets='1' dies='1' cores='2' threads='1'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='xtpr'/>
<feature policy='require' name='tm2'/>

View File

@ -1,6 +1,6 @@
<cpu mode='custom' match='exact'>
<model fallback='allow'>Haswell</model>
<topology sockets='1' cores='2' threads='2'/>
<topology sockets='1' dies='1' cores='2' threads='2'/>
<feature policy='disable' name='rtm'/>
<feature policy='disable' name='hle'/>
</cpu>

View File

@ -1,6 +1,6 @@
<cpu mode='custom' match='exact'>
<model fallback='allow'>Haswell</model>
<topology sockets='1' cores='2' threads='2'/>
<topology sockets='1' dies='1' cores='2' threads='2'/>
<feature policy='disable' name='hle'/>
<feature policy='disable' name='rtm'/>
</cpu>

View File

@ -1,4 +1,4 @@
<cpu mode='custom' match='exact'>
<model fallback='allow'>Haswell-noTSX</model>
<topology sockets='1' cores='2' threads='2'/>
<topology sockets='1' dies='1' cores='2' threads='2'/>
</cpu>

View File

@ -1,6 +1,6 @@
<cpu mode='custom' match='exact'>
<model fallback='allow'>Penryn</model>
<topology sockets='2' cores='4' threads='1'/>
<topology sockets='2' dies='1' cores='4' threads='1'/>
<feature policy='disable' name='dca'/>
<feature policy='disable' name='xtpr'/>
<feature policy='disable' name='sse4.2'/>

View File

@ -43,7 +43,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='1' cores='4' threads='8'/>
<topology sockets='1' dies='1' cores='4' threads='8'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -43,7 +43,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='1' cores='4' threads='8'/>
<topology sockets='1' dies='1' cores='4' threads='8'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -43,7 +43,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='1' cores='4' threads='8'/>
<topology sockets='1' dies='1' cores='4' threads='8'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -43,7 +43,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='1' cores='4' threads='8'/>
<topology sockets='1' dies='1' cores='4' threads='8'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -19,7 +19,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='4' cores='2' threads='1'/>
<topology sockets='4' dies='1' cores='2' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -19,7 +19,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='4' cores='2' threads='1'/>
<topology sockets='4' dies='1' cores='2' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -19,7 +19,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='4' cores='2' threads='1'/>
<topology sockets='4' dies='1' cores='2' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -19,7 +19,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='4' cores='2' threads='1'/>
<topology sockets='4' dies='1' cores='2' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='4' cores='2' threads='1'/>
<topology sockets='4' dies='1' cores='2' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='4' cores='2' threads='1'/>
<topology sockets='4' dies='1' cores='2' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -7,7 +7,7 @@
<type arch='ppc64' machine='pseries'>hvm</type>
</os>
<cpu>
<topology sockets='1' cores='2' threads='4'/>
<topology sockets='1' dies='1' cores='2' threads='4'/>
</cpu>
<devices>
<emulator>/usr/bin/qemu-system-ppc64</emulator>

View File

@ -17,7 +17,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets="3" cores="2" threads="1"/>
<topology sockets="3" dies="1" cores="2" threads="1"/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-3,8-11' memory='109550' unit='KiB'/>
<cell id='1' cpus='4-7,12-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-5' memory='109550' unit='KiB'/>
<cell id='2' cpus='6-10' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-7' memory='109550' unit='KiB' memAccess='shared'/>
<cell id='1' cpus='8-15' memory='109550' unit='KiB' memAccess='private'/>

View File

@ -8,7 +8,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='1' cpus='8-15' memory='109550' unit='KiB'/>
<cell id='0' cpus='0-7' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell cpus='0-7' memory='109550' unit='KiB'/>
<cell cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='1' cpus='8-15' memory='109550' unit='KiB'/>
<cell id='0' cpus='0-7' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='1' cpus='0-7' memory='109550' unit='KiB'/>
<cell id='2' cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets="3" cores="2" threads="1"/>
<topology sockets="3" dies="1" cores="2" threads="1"/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -10,7 +10,7 @@
</os>
<cpu match='exact'>
<model>core2duo</model>
<topology sockets="1" cores="2" threads="3"/>
<topology sockets="1" dies="1" cores="2" threads="3"/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets="3" cores="2" threads="1"/>
<topology sockets="3" dies="1" cores="2" threads="1"/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -14,7 +14,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='8' cores='1' threads='1'/>
<topology sockets='8' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -14,7 +14,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='1' cores='8' threads='1'/>
<topology sockets='1' dies='1' cores='8' threads='1'/>
<numa>
<cell id='0' cpus='0-7' memory='14680064' unit='KiB'/>
</numa>

View File

@ -14,7 +14,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='1' cores='8' threads='1'/>
<topology sockets='1' dies='1' cores='8' threads='1'/>
<numa>
<cell id='0' cpus='0-7' memory='14680064' unit='KiB'/>
<cell id='1' cpus='8-15' memory='14680064' unit='KiB' memAccess='shared'/>

View File

@ -14,7 +14,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='1' cores='24' threads='1'/>
<topology sockets='1' dies='1' cores='24' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='14680064' unit='KiB'/>
<cell id='1' cpus='2-3' memory='14680064' unit='KiB' memAccess='shared'/>

View File

@ -18,7 +18,7 @@
<cpu match='exact'>
<model>core2duo</model>
<vendor>Intel</vendor>
<topology sockets='1' cores='2' threads='1'/>
<topology sockets='1' dies='1' cores='2' threads='1'/>
<feature policy='require' name='ds'/>
<feature policy='require' name='acpi'/>
<feature policy='require' name='ss'/>

View File

@ -16,7 +16,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='1048576' unit='KiB'/>
</numa>

View File

@ -18,7 +18,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='1' cores='8' threads='1'/>
<topology sockets='1' dies='1' cores='8' threads='1'/>
<numa>
<cell id='0' cpus='0-7' memory='14680064' unit='KiB'/>
</numa>

View File

@ -20,7 +20,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='1' cores='8' threads='1'/>
<topology sockets='1' dies='1' cores='8' threads='1'/>
<numa>
<cell id='0' cpus='0-7' memory='14680064' unit='KiB'/>
</numa>

View File

@ -10,7 +10,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='9007199254740991' unit='KiB'/>
</numa>

View File

@ -10,7 +10,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -14,7 +14,7 @@
<gid start='0' target='1000' count='10'/>
</idmap>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -14,7 +14,7 @@
<gid start='0' target='1000' count='10'/>
</idmap>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -14,7 +14,7 @@
<gid start='0' target='1000' count='10'/>
</idmap>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -14,7 +14,7 @@
<gid start='0' target='1000' count='10'/>
</idmap>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -14,7 +14,7 @@
<gid start='0' target='1000' count='10'/>
</idmap>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -14,7 +14,7 @@
<gid start='0' target='1000' count='10'/>
</idmap>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -14,7 +14,7 @@
<gid start='0' target='1000' count='10'/>
</idmap>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='1048576' unit='KiB'/>
</numa>

View File

@ -10,7 +10,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -9,7 +9,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -9,7 +9,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -8,7 +8,7 @@
<type arch='x86_64' machine='q35'>hvm</type>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell cpus='0-7' memory='109550' unit='KiB'/>
<cell cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -8,7 +8,7 @@
<type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell cpus='0-7' memory='109550' unit='KiB'/>
<cell cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell cpus='0-7' memory='109550' unit='KiB'/>
<cell cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -8,7 +8,7 @@
<type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell cpus='0-7' memory='109550' unit='KiB'/>
<cell cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell cpus='0-7' memory='109550' unit='KiB'/>
<cell cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -7,7 +7,7 @@
<memnode cellid="0" mode="strict" nodeset="1"/>
</numatune>
<cpu>
<topology sockets='3' cores='1' threads='8'/>
<topology sockets='3' dies='1' cores='1' threads='8'/>
<numa>
<cell id='0' cpus='0-23' memory='1048576' unit='KiB'/>
</numa>

View File

@ -8,7 +8,7 @@
<memnode cellid="1" mode="strict" nodeset="2"/>
</numatune>
<cpu>
<topology sockets='2' cores='1' threads='4'/>
<topology sockets='2' dies='1' cores='1' threads='4'/>
<numa>
<cell id='0' cpus='0-3' memory='1048576' unit='KiB'/>
<cell id='1' cpus='4-7' memory='1048576' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-3,8-11' memory='109550' unit='KiB'/>
<cell id='1' cpus='4-7,12-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-5' memory='109550' unit='KiB'/>
<cell id='1' cpus='11-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-7' memory='109550' unit='KiB' memAccess='shared'/>
<cell id='1' cpus='8-15' memory='109550' unit='KiB' memAccess='private'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
<cell id='1' cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
<cell id='1' cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='network'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
<cell id='1' cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -18,7 +18,7 @@
<cpu mode='custom' match='exact' check='partial'>
<model fallback='allow'>core2duo</model>
<vendor>Intel</vendor>
<topology sockets='1' cores='2' threads='1'/>
<topology sockets='1' dies='1' cores='2' threads='1'/>
<feature policy='require' name='ds'/>
<feature policy='require' name='acpi'/>
<feature policy='require' name='ss'/>

View File

@ -14,7 +14,7 @@
<gid start='0' target='1000' count='10'/>
</idmap>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -10,7 +10,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
<numa>
<cell id='0' cpus='0-1' memory='219136' unit='KiB'/>
</numa>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -9,7 +9,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -9,7 +9,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
<cell id='1' cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='4' threads='2'/>
<topology sockets='2' dies='1' cores='4' threads='2'/>
<numa>
<cell id='0' cpus='0-7' memory='109550' unit='KiB'/>
<cell id='1' cpus='8-15' memory='109550' unit='KiB'/>

View File

@ -13,7 +13,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='4'/>
<topology sockets='2' dies='1' cores='1' threads='4'/>
<numa>
<cell id='0' cpus='0-3' memory='1048576' unit='KiB'/>
<cell id='1' cpus='4-7' memory='1048576' unit='KiB'/>

View File

@ -9,7 +9,7 @@
<boot dev='hd'/>
</os>
<cpu>
<topology sockets='2' cores='1' threads='1'/>
<topology sockets='2' dies='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -11,7 +11,7 @@
<type arch='x86_64'>hvm</type>
</os>
<cpu>
<topology sockets='4' cores='2' threads='1'/>
<topology sockets='4' dies='1' cores='2' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>

View File

@ -12,7 +12,7 @@
<type arch='x86_64'>hvm</type>
</os>
<cpu>
<topology sockets='4' cores='4' threads='1'/>
<topology sockets='4' dies='1' cores='4' threads='1'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>