This commit adds the following description: 1. `memdev` option is recommended over `mem` option (see [1,2]) 2. users must specify memory for all NUMA nodes (see [2])
This commit also separates descriptions for `mem` and `memdev` into two paragraphs. The old doc describes legacy `mem` option first, and it was a bit confusing. Related documantations: [1] https://wiki.qemu.org/ChangeLog/5.1#Incompatible_changes [2] https://www.qemu.org/docs/master/about/removed-features.html Signed-off-by: Yohei Kojima <y-...@outlook.jp> --- qemu-options.hx | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/qemu-options.hx b/qemu-options.hx index 59bdf67a2c..b65f88eaf8 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -405,15 +405,9 @@ SRST -numa node,nodeid=0 -numa node,nodeid=1 \ -numa cpu,node-id=0,socket-id=0 -numa cpu,node-id=1,socket-id=1 - Legacy '\ ``mem``\ ' assigns a given RAM amount to a node (not supported - for 5.1 and newer machine types). '\ ``memdev``\ ' assigns RAM from - a given memory backend device to a node. If '\ ``mem``\ ' and - '\ ``memdev``\ ' are omitted in all nodes, RAM is split equally between them. - - - '\ ``mem``\ ' and '\ ``memdev``\ ' are mutually exclusive. - Furthermore, if one node uses '\ ``memdev``\ ', all of them have to - use it. + '\ ``memdev``\ ' option assigns RAM from a given memory backend + device to a node. Users must specify memory for all NUMA nodes by + '\ ``memdev``\ ' (or legacy '\ ``mem``\ ' if available). '\ ``initiator``\ ' is an additional option that points to an initiator NUMA node that has best performance (the lowest latency or @@ -448,6 +442,20 @@ SRST even when they are symmetrical. When a node is unreachable from another node, set the pair's distance to 255. + .. note:: + + For compatibility reasons, legacy '\ ``mem``\ ' option is + supported in 5.0 and older machine types. It is recommended + to use '\ ``memdev``\ ' option over legacy '\ ``mem``\ ' + option. This is because '\ ``memdev``\ ' option provides + better performance and more control over the backend's RAM + (e.g. '\ ``prealloc``\ ' parameter of + '\ ``-memory-backend-ram``\ ' allows memory preallocation). + + Note that '\ ``mem``\ ' and '\ ``memdev``\ ' are mutually + exclusive. If one node uses '\ ``memdev``\ ', the rest nodes + have to use '\ ``memdev``\ ' option, and vice versa. + Note that the -``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 ``-m``, ``-smp`` options to -- 2.39.2