NUMA documentation update

-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJYuWt9AAoJECgHk2+YTcWmhvwP/1eTe6BtSsUjIxFHh/bcF20m
 O8fcPhpj+HCFCUBo7VfhaHqDM3gAPD+Av6pnRfn36X6gCTgmiEaSFHgeCXkr7Wrn
 bLumisZcKmEo/go9rFlMyaNHsI2bp5aP0JoUu2b5g0nFbN7gdPCMtlPixNi7hIDU
 9MYpcC4x8bbRaa2Evh9veIk3ZtA+CKEd+07E+GXKYmnSYPH0EpAo+02doOdW/D2j
 zVB09qv8H61JkRFrcQi8j08kC1uuSk3wy/TqjtK7wip7mZCd4ezXye4C/QZD0C2C
 z1rtO7Z+8US6hVNsnu/OwoEEcfCaNTLjiQT6VdYAlOab2i8tJBtwgZaIDuCJbVN0
 Tms9CaIVo2pUXKL3ZSRfTDvnsyrtJH1/aqu9up0aZ8vtbj1HAjgK9BE0M13ueEP+
 poiqoj43mCcrZyQYmES+uaL8MjXLdvjGaYp1KNAKhVmojrXut955AwuKV2+8+yhz
 dGaYkrnaAxt5KOTsR81guIkZW5G1EwqVdULyfXAcmLcnsIYqi+NWwR8jMUkE9rsk
 X89X3MKz4iJZz0RsUvBAyGX5pmQX5RJwY+LuV0av7a8uOnIhP/rVrbqTdgvZiKKe
 bs25PD/qEX4BaQUAg/N+wlVyQeC+UWnUAmJucwWf4zcpyzyYAWSnEsAk9I0gjDoG
 pZxg3RNOVb8XVE2ARLgP
 =DEwd
 -----END PGP SIGNATURE-----

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>
This commit is contained in:
Peter Maydell 2017-03-03 14:59:45 +00:00
commit 5b10b94bd5

View File

@ -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.
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.
@samp{mem} and @samp{memdev} are mutually exclusive. Furthermore, if one
node uses @samp{memdev}, all of them have to use it.
ETEXI
DEF("add-fd", HAS_ARG, QEMU_OPTION_add_fd,