Message ID | 20170123180632.28942-3-ehabkost@redhat.com |
---|---|
State | New |
Headers | show |
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 --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,
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(-)