[PATCH v2 4/4] formatdomain.html.in: document the NUMA cpus auto fill feature

Daniel Henrique Barboza danielhb413 at gmail.com
Tue Jun 16 18:09:49 UTC 2020

On 6/10/20 3:35 PM, Daniel Henrique Barboza wrote:
> We're not mentioning that we're replicating QEMU behavior on purpose.
> First because QEMU will one day, maybe, change the behavior and
> start to refuse incomplete NUMA setups, and then our documentation
> is now deprecated. Second, auto filling the CPUs in the first
> cell will work regardless of QEMU changes in the future.
> The idea is to encourage the user to provide a complete NUMA CPU topology,
> not relying on the CPU auto fill mechanic.

Update: this patch (after the 3 previous patches) up a solution for


If a new version of the series is required I'll include the bug link in
the commit message of this patch.



> Signed-off-by: Daniel Henrique Barboza <danielhb413 at gmail.com>
> ---
>   docs/formatdomain.html.in | 11 ++++++++++-
>   1 file changed, 10 insertions(+), 1 deletion(-)
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index 20c28a47e3..07d0fa5c70 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -1829,7 +1829,16 @@
>       <p>
>         Each <code>cell</code> element specifies a NUMA cell or a NUMA node.
>         <code>cpus</code> specifies the CPU or range of CPUs that are
> -      part of the node. <code>memory</code> specifies the node memory
> +      part of the node. <span class="since">Since 6.5.0</span> For the qemu
> +      driver, if the emulator binary supports disjointed <code>cpus</code> ranges
> +      in each <code>cell</code>, the sum of all CPUs declared in each <code>cell</code>
> +      will be matched with the maximum number of virtual CPUs declared in the
> +      <code>vcpu</code> element. This is done by filling any remaining CPUs
> +      into the first NUMA <code>cell</code>. Users are encouraged to supply a
> +      complete NUMA topology, where the sum of the NUMA CPUs matches the maximum
> +      virtual CPUs number declared in <code>vcpus</code>, to make the domain
> +      consistent across qemu and libvirt versions.
> +      <code>memory</code> specifies the node memory
>         in kibibytes (i.e. blocks of 1024 bytes).
>         <span class="since">Since 1.2.11</span> one can use an additional <a
>             href="#elementsMemoryAllocation"><code>unit</code></a> attribute to

More information about the libvir-list mailing list