diff mbox series

[RFC,50/52] qemu-options: Add the document of hybrid command

Message ID 20230213095035.158240-51-zhao1.liu@linux.intel.com
State New
Headers show
Series Introduce hybrid CPU topology | expand

Commit Message

Zhao Liu Feb. 13, 2023, 9:50 a.m. UTC
From: Zhao Liu <zhao1.liu@intel.com>

Added the detailed introduction to the four hybrid options with specific
examples.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 qemu-options.hx | 77 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)
diff mbox series

Patch

diff --git a/qemu-options.hx b/qemu-options.hx
index 8987972a8d5f..2bc7a5ed51ed 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -5611,7 +5611,84 @@  DEF("hybrid", HAS_ARG, QEMU_OPTION_hybrid,
     "-hybrid cluster,clusters=n"
     "-hybrid core,cores=n,coretype=core_type[,threads=threads][,clusterid=cluster]",
     QEMU_ARCH_ALL)
+SRST
+``-hybrid socket,sockets=n``
+  \
+``-hybrid die,dies=n``
+  \
+``-hybrid cluster,clusters=n``
+  \
+``-hybrid core,cores=n,coretype=core_type[,threads=threads][,clusterid=cluster]``
+    Define a hybrid cpu topology. Currently, only i386 PC machine supports this command.
+
+    There're 4 levels need to be configured: socket, die, cluster and core. And the
+    thread level is included in core level configuration.
+
+    Hybrid and smp cannot be set at the same time.
+
+    As for now, hybrid cpu topology only supports differences between the core and cluster
+    levels (please note the differences between clusters is caused by containing different
+    cores), and it assumes threads, dies and sockets are the same.
+
+    These four level options must be written in the order of "socket, die, cluster, core".
+
+    For example, the following options assigns 12 VCPUs which contains 8 Intel Atom cores
+    and 2 Intel Core cores.
+
+    ::
+
+        -hybrid socket,sockets=1    \
+        -hybrid die,dies=1          \
+        -hybrid cluster,clusters=4  \
+        -hybrid core,cores=1,coretype="core",threads=2,clusterid=0-1    \
+        -hybrid core,cores=4,coretype="atom",threads=1,clusterid=2-3
+
+    '\ ``socket``\ ' option is used to configure how many sockets in the machine. Here
+    '\ ``sockets``\ ' means the number of sockets in the machine. If this option is not
+    set, the default is only 1 socket.
+
+    For example:
+
+    ::
+
+        -hybrid socket,sockets=1
 
+    '\ ``die``\ ' option is used to configure how many dies in one socket. Here
+    '\ ``dies``\ ' means the number of dies in one socket. If this option is not
+    set, the default is only 1 die per socket.
+
+    For example:
+
+    ::
+
+        -hybrid die,dies=1
+
+    '\ ``cluster``\ ' option is used to configure how many clusters in one die. Here
+    '\ ``clusters``\ ' means the number of clusters in one die. If this option is not
+    set, the default is only 1 cluster per die.
+
+    For example:
+
+    ::
+
+        -hybrid cluster,clusters=1
+
+    '\ ``core``\ ' option is used to configure hybrid core topology. Here '\ ``cores``\ '
+    means the number of current type cores in one cluster. '\ ``coretype``\ ' means the
+    type of the current core. '\ ``threads``\ ' means how many threads in one current type
+    core (the default is 1 thread per current core). And '\ ``clusterid``\ ' means the cluster
+    index list that the current type core belongs to (the default is all clusters have current
+    type cores). This option cannot be omitted.
+
+    For i386 PC machine, the supported '\ ``coretype``\ ' are "atom" and "core".
+
+    For example (clusters=4):
+
+    ::
+
+        -hybrid core,cores=1,coretype="core",threads=2,clusterid=0-1,clusterid=3    \
+        -hybrid core,cores=4,coretype="atom",threads=1,clusterid=2
+ERST
 
 HXCOMM This is the last statement. Insert new options before this line!