diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2017-03-03 14:59:45 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-03-03 14:59:45 +0000 |
commit | 5b10b94bd53229540b088342015d69bc5ef2cc1d (patch) | |
tree | 449de9877cdd3bf2dbc82d01c89281a67bd9fed4 | |
parent | 9a17d32721ddd5e6ec9e791bf960d32a7ac6327b (diff) | |
parent | 4b9a5dd762ae41acd7df741de3e554b319a2cced (diff) |
Merge remote-tracking branch 'remotes/ehabkost/tags/numa-pull-request' into staging
NUMA documentation update
# gpg: Signature made Fri 03 Mar 2017 13:11:25 GMT
# gpg: using RSA key 0x2807936F984DC5A6
# gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>"
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6
* remotes/ehabkost/tags/numa-pull-request:
qemu-options: Rewrite -numa documentation
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | qemu-options.hx | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/qemu-options.hx b/qemu-options.hx index c85f77d1d8..229243831b 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -144,16 +144,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, |