提交 fbf27730 编写于 作者: D Daniel P. Berrangé

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: NJiri Denemark <jdenemar@redhat.com>
Reviewed-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
上级 bd04d63a
......@@ -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;
...
......
......@@ -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
......
......@@ -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>
......
......@@ -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 "
......
......@@ -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);
......
......@@ -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;
......
......@@ -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);
......
......@@ -421,6 +421,7 @@ virCPUGetHost(virArch arch,
if (nodeInfo) {
cpu->sockets = nodeInfo->sockets;
cpu->dies = 1;
cpu->cores = nodeInfo->cores;
cpu->threads = nodeInfo->threads;
}
......
......@@ -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;
......
......@@ -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);
......
......@@ -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,
......
<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'/>
......
<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'/>
......
<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'/>
......
<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'/>
......
<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'/>
......
<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>
<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>
<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>
<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'/>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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>
......
......@@ -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'/>
......
......@@ -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>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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'/>
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册