diff mbox series

[1/1] qemu-options.hx: Update descriptions of memory options for NUMA node

Message ID TYZPR06MB541882960C628F64C35427189D989@TYZPR06MB5418.apcprd06.prod.outlook.com
State New
Headers show
Series qemu-options.hx: Update descriptions of memory options | expand

Commit Message

Yohei Kojima April 13, 2023, 12:18 p.m. UTC
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-koj@outlook.jp>
---
 qemu-options.hx | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)
diff mbox series

Patch

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