diff mbox

[2/2] qemu-options: Rewrite -numa documentation

Message ID 20170123180632.28942-3-ehabkost@redhat.com
State New
Headers show

Commit Message

Eduardo Habkost Jan. 23, 2017, 6:06 p.m. UTC
Rewrite the -numa documentation to clarify what exactly it does.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 qemu-options.hx | 38 ++++++++++++++++++++++++++++----------
 1 file changed, 28 insertions(+), 10 deletions(-)

Comments

Igor Mammedov Jan. 24, 2017, 10:14 a.m. UTC | #1
On Mon, 23 Jan 2017 16:06:32 -0200
Eduardo Habkost <ehabkost@redhat.com> wrote:

> Rewrite the -numa documentation to clarify what exactly it does.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  qemu-options.hx | 38 ++++++++++++++++++++++++++++----------
>  1 file changed, 28 insertions(+), 10 deletions(-)
> 
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 780528d6ad..a2c5d6668d 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -125,16 +125,34 @@ STEXI
>  @item -numa node[,mem=@var{size}][,cpus=@var{firstcpu}[-@var{lastcpu}]][,nodeid=@var{node}]
>  @itemx -numa node[,memdev=@var{id}][,cpus=@var{firstcpu}[-@var{lastcpu}]][,nodeid=@var{node}]
>  @findex -numa
> -Simulate a multi node NUMA system. If @samp{mem}, @samp{memdev}
> -and @samp{cpus} are omitted, resources are split equally. Also, note
> -that the -@option{numa} option doesn't allocate any of the specified
> -resources. That is, it just assigns existing resources to NUMA nodes. This
> -means that one still has to use the @option{-m}, @option{-smp} options
> -to allocate RAM and VCPUs respectively, and possibly @option{-object}
> -to specify the memory backend for the @samp{memdev} suboption.
> -
> -@samp{mem} and @samp{memdev} are mutually exclusive.  Furthermore, if one
> -node uses @samp{memdev}, all of them have to use it.
> +Define a NUMA node and assign RAM and VCPUs to it.
> +
> +@var{firstcpu} and @var{lastcpu} are CPU indexes. Each
> +@samp{cpus} option represent a contiguous range of CPU indexes
> +(or a single VCPU if @var{lastcpu} is omitted). A non-contiguous
> +set of VCPUs can be represented by providing multiple @samp{cpus}
> +options. If @samp{cpus} is omitted on all nodes, VCPUs are automatically
> +split between them.
> +
> +For example, the following option assigns VCPUs 0, 1, 2 and 5 to
> +a NUMA node:
> +@example
> +-numa node,cpus=0-2,cpus=5
> +@end example
> +
> +@samp{mem} assigns a given RAM amount to a node. @samp{memdev}
> +assigns RAM from a given memory backend device to a node. If
> +@samp{mem} and @samp{memdev} are omitted in all nodes, RAM is
> +split equally between them.
> +
> +@samp{mem} and @samp{memdev} are mutually exclusive. Furthermore,
> +if one node uses @samp{memdev}, all of them have to use it.
> +
> +Note that the -@option{numa} option doesn't allocate any of the
> +specified resources, it just assigns existing resources to NUMA
> +nodes. This means that one still has to use the @option{-m},
> +@option{-smp} options to allocate RAM and VCPUs respectively.
> +
>  ETEXI
>  
>  DEF("add-fd", HAS_ARG, QEMU_OPTION_add_fd,
diff mbox

Patch

diff --git a/qemu-options.hx b/qemu-options.hx
index 780528d6ad..a2c5d6668d 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -125,16 +125,34 @@  STEXI
 @item -numa node[,mem=@var{size}][,cpus=@var{firstcpu}[-@var{lastcpu}]][,nodeid=@var{node}]
 @itemx -numa node[,memdev=@var{id}][,cpus=@var{firstcpu}[-@var{lastcpu}]][,nodeid=@var{node}]
 @findex -numa
-Simulate a multi node NUMA system. If @samp{mem}, @samp{memdev}
-and @samp{cpus} are omitted, resources are split equally. Also, note
-that the -@option{numa} option doesn't allocate any of the specified
-resources. That is, it just assigns existing resources to NUMA nodes. This
-means that one still has to use the @option{-m}, @option{-smp} options
-to allocate RAM and VCPUs respectively, and possibly @option{-object}
-to specify the memory backend for the @samp{memdev} suboption.
-
-@samp{mem} and @samp{memdev} are mutually exclusive.  Furthermore, if one
-node uses @samp{memdev}, all of them have to use it.
+Define a NUMA node and assign RAM and VCPUs to it.
+
+@var{firstcpu} and @var{lastcpu} are CPU indexes. Each
+@samp{cpus} option represent a contiguous range of CPU indexes
+(or a single VCPU if @var{lastcpu} is omitted). A non-contiguous
+set of VCPUs can be represented by providing multiple @samp{cpus}
+options. If @samp{cpus} is omitted on all nodes, VCPUs are automatically
+split between them.
+
+For example, the following option assigns VCPUs 0, 1, 2 and 5 to
+a NUMA node:
+@example
+-numa node,cpus=0-2,cpus=5
+@end example
+
+@samp{mem} assigns a given RAM amount to a node. @samp{memdev}
+assigns RAM from a given memory backend device to a node. If
+@samp{mem} and @samp{memdev} are omitted in all nodes, RAM is
+split equally between them.
+
+@samp{mem} and @samp{memdev} are mutually exclusive. Furthermore,
+if one node uses @samp{memdev}, all of them have to use it.
+
+Note that the -@option{numa} option doesn't allocate any of the
+specified resources, it just assigns existing resources to NUMA
+nodes. This means that one still has to use the @option{-m},
+@option{-smp} options to allocate RAM and VCPUs respectively.
+
 ETEXI
 
 DEF("add-fd", HAS_ARG, QEMU_OPTION_add_fd,