[libvirt] [PATCH v3 08/16] conf, schema: add support for memnode elements

Eric Blake eblake at redhat.com
Wed Jul 16 18:21:24 UTC 2014


On 07/16/2014 08:42 AM, Martin Kletzander wrote:
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
>  docs/formatdomain.html.in                          |  15 ++
>  docs/schemas/domaincommon.rng                      |  17 ++
>  src/conf/numatune_conf.c                           | 187 +++++++++++++++++++--
>  .../qemuxml2argv-numatune-memnode-no-memory.xml    |  30 ++++
>  .../qemuxml2argv-numatune-memnode-nocpu.xml        |  25 +++
>  .../qemuxml2argv-numatune-memnode.xml              |  33 ++++
>  .../qemuxml2argv-numatune-memnodes-problematic.xml |  31 ++++
>  tests/qemuxml2argvtest.c                           |   2 +
>  .../qemuxml2xmlout-numatune-memnode.xml            |  33 ++++
>  tests/qemuxml2xmltest.c                            |   2 +
>  10 files changed, 362 insertions(+), 13 deletions(-)
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-no-memory.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-nocpu.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-memnodes-problematic.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-memnode.xml
> 
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index 9f1082b..1301639 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -709,6 +709,8 @@
>    ...
>    <numatune>
>      <memory mode="strict" nodeset="1-4,^3"/>
> +    <memnode cellid="0" mode="strict" nodeset="1"/>
> +    <memnode cellid="2" mode="preferred" nodeset="2"/>

Ah, the ability to skip cellid's (for the cells that inherit the default
policies from <memory> makes it essential to have ids for correlation in
the earlier patch in this series.

>    </numatune>
>    ...
>  </domain>
> @@ -745,6 +747,19 @@
> 
>          <span class='since'>Since 0.9.3</span>
>        </dd>
> +      <dt><code>memnode</code></dt>
> +      <dd>
> +        Optional <code>memnode</code> elements can specify memory allocation
> +        policies per each guest NUMA node.  For those nodes having no
> +        corresponding <code>memnode</code> element, the default from
> +        element <code>memory</code> will be used.  Attribute <code>cellid</code>
> +        addresses guest NUMA node for which the settings are applied.
> +        Attributes <code>mode</code> and <code>nodeset</code> have the same
> +        meaning and syntax as in <code>memory</code> element.
> +
> +        This setting is not compatible with automatic placement.
> +        <span class='since'>QEMU Since 1.2.7</span>

Again, schema documentation looks okay to me.


> +++ b/docs/schemas/domaincommon.rng
> @@ -789,6 +789,23 @@
>                </choice>
>          </element>
>        </optional>
> +      <zeroOrMore>
> +        <element name="memnode">
> +          <attribute name="cellid">
> +            <ref name="unsignedInt"/>
> +          </attribute>
> +          <attribute name="mode">
> +            <choice>
> +              <value>strict</value>
> +              <value>preferred</value>
> +              <value>interleave</value>
> +            </choice>
> +          </attribute>
> +          <attribute name='nodeset'>
> +            <ref name='cpuset'/>
> +          </attribute>
> +        </element>
> +      </zeroOrMore>
>      </element>

Missing an <interleave> here (<memory> and <memnode> should be swappable
with one another).

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140716/11e3e62a/attachment-0001.sig>


More information about the libvir-list mailing list