qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: peterx@redhat.com
To: qemu-devel@nongnu.org
Cc: "Cédric Le Goater" <clg@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	peterx@redhat.com, "Alex Williamson" <alex.williamson@redhat.com>,
	"Jason Wang" <jasowang@redhat.com>,
	"Bandan Das" <bdas@redhat.com>,
	"Prasad Pandit" <ppandit@redhat.com>,
	"Fabiano Rosas" <farosas@suse.de>
Subject: [PATCH 05/10] docs/migration: Split "Debugging" and "Firmware"
Date: Tue,  9 Jan 2024 14:46:23 +0800	[thread overview]
Message-ID: <20240109064628.595453-6-peterx@redhat.com> (raw)
In-Reply-To: <20240109064628.595453-1-peterx@redhat.com>

From: Peter Xu <peterx@redhat.com>

Move the two sections into a separate file called "best-practises.rst".
Add the entry into index.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 docs/devel/migration/best-practises.rst | 48 +++++++++++++++++++++++++
 docs/devel/migration/index.rst          |  1 +
 docs/devel/migration/main.rst           | 44 -----------------------
 3 files changed, 49 insertions(+), 44 deletions(-)
 create mode 100644 docs/devel/migration/best-practises.rst

diff --git a/docs/devel/migration/best-practises.rst b/docs/devel/migration/best-practises.rst
new file mode 100644
index 0000000000..ba122ae417
--- /dev/null
+++ b/docs/devel/migration/best-practises.rst
@@ -0,0 +1,48 @@
+==============
+Best practises
+==============
+
+Debugging
+=========
+
+The migration stream can be analyzed thanks to ``scripts/analyze-migration.py``.
+
+Example usage:
+
+.. code-block:: shell
+
+  $ qemu-system-x86_64 -display none -monitor stdio
+  (qemu) migrate "exec:cat > mig"
+  (qemu) q
+  $ ./scripts/analyze-migration.py -f mig
+  {
+    "ram (3)": {
+        "section sizes": {
+            "pc.ram": "0x0000000008000000",
+  ...
+
+See also ``analyze-migration.py -h`` help for more options.
+
+Firmware
+========
+
+Migration migrates the copies of RAM and ROM, and thus when running
+on the destination it includes the firmware from the source. Even after
+resetting a VM, the old firmware is used.  Only once QEMU has been restarted
+is the new firmware in use.
+
+- Changes in firmware size can cause changes in the required RAMBlock size
+  to hold the firmware and thus migration can fail.  In practice it's best
+  to pad firmware images to convenient powers of 2 with plenty of space
+  for growth.
+
+- Care should be taken with device emulation code so that newer
+  emulation code can work with older firmware to allow forward migration.
+
+- Care should be taken with newer firmware so that backward migration
+  to older systems with older device emulation code will work.
+
+In some cases it may be best to tie specific firmware versions to specific
+versioned machine types to cut down on the combinations that will need
+support.  This is also useful when newer versions of firmware outgrow
+the padding.
diff --git a/docs/devel/migration/index.rst b/docs/devel/migration/index.rst
index 7fc02b9520..c09623b38f 100644
--- a/docs/devel/migration/index.rst
+++ b/docs/devel/migration/index.rst
@@ -11,3 +11,4 @@ QEMU live migration works.
    compatibility
    vfio
    virtio
+   best-practises
diff --git a/docs/devel/migration/main.rst b/docs/devel/migration/main.rst
index b3e31bb52f..97811ce371 100644
--- a/docs/devel/migration/main.rst
+++ b/docs/devel/migration/main.rst
@@ -52,27 +52,6 @@ All these migration protocols use the same infrastructure to
 save/restore state devices.  This infrastructure is shared with the
 savevm/loadvm functionality.
 
-Debugging
-=========
-
-The migration stream can be analyzed thanks to ``scripts/analyze-migration.py``.
-
-Example usage:
-
-.. code-block:: shell
-
-  $ qemu-system-x86_64 -display none -monitor stdio
-  (qemu) migrate "exec:cat > mig"
-  (qemu) q
-  $ ./scripts/analyze-migration.py -f mig
-  {
-    "ram (3)": {
-        "section sizes": {
-            "pc.ram": "0x0000000008000000",
-  ...
-
-See also ``analyze-migration.py -h`` help for more options.
-
 Common infrastructure
 =====================
 
@@ -970,26 +949,3 @@ the background migration channel.  Anyone who cares about latencies of page
 faults during a postcopy migration should enable this feature.  By default,
 it's not enabled.
 
-Firmware
-========
-
-Migration migrates the copies of RAM and ROM, and thus when running
-on the destination it includes the firmware from the source. Even after
-resetting a VM, the old firmware is used.  Only once QEMU has been restarted
-is the new firmware in use.
-
-- Changes in firmware size can cause changes in the required RAMBlock size
-  to hold the firmware and thus migration can fail.  In practice it's best
-  to pad firmware images to convenient powers of 2 with plenty of space
-  for growth.
-
-- Care should be taken with device emulation code so that newer
-  emulation code can work with older firmware to allow forward migration.
-
-- Care should be taken with newer firmware so that backward migration
-  to older systems with older device emulation code will work.
-
-In some cases it may be best to tie specific firmware versions to specific
-versioned machine types to cut down on the combinations that will need
-support.  This is also useful when newer versions of firmware outgrow
-the padding.
-- 
2.41.0



  parent reply	other threads:[~2024-01-09  6:47 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-09  6:46 [PATCH 00/10] docs/migration: Reorganize migration documentations peterx
2024-01-09  6:46 ` [PATCH 01/10] docs/migration: Create migration/ directory peterx
2024-01-09  6:52   ` Cédric Le Goater
2024-01-09  6:46 ` [PATCH 02/10] docs/migration: Create index page peterx
2024-01-09  6:53   ` Cédric Le Goater
2024-01-09  6:46 ` [PATCH 03/10] docs/migration: Convert virtio.txt into rST peterx
2024-01-09  7:02   ` Cédric Le Goater
2024-01-09  6:46 ` [PATCH 04/10] docs/migration: Split "Backwards compatibility" separately peterx
2024-01-09  7:03   ` Cédric Le Goater
2024-01-09  6:46 ` peterx [this message]
2024-01-09  7:04   ` [PATCH 05/10] docs/migration: Split "Debugging" and "Firmware" Cédric Le Goater
2024-01-09 17:03   ` Fabiano Rosas
2024-01-10  2:10     ` Peter Xu
2024-01-09  6:46 ` [PATCH 06/10] docs/migration: Split "Postcopy" peterx
2024-01-09  7:05   ` Cédric Le Goater
2024-01-09  6:46 ` [PATCH 07/10] docs/migration: Split "dirty limit" peterx
2024-01-09  7:06   ` Cédric Le Goater
2024-01-09  6:46 ` [PATCH 08/10] docs/migration: Organize "Postcopy" page peterx
2024-01-09  7:20   ` Cédric Le Goater
2024-01-09  6:46 ` [PATCH 09/10] docs/migration: Further move vfio to be feature of migration peterx
2024-01-09  7:20   ` Cédric Le Goater
2024-01-09  6:46 ` [PATCH 10/10] docs/migration: Further move virtio " peterx
2024-01-09  7:20   ` Cédric Le Goater
2024-01-09 10:49 ` [PATCH 00/10] docs/migration: Reorganize migration documentations Peter Xu
2024-01-09 13:21   ` Cédric Le Goater
2024-01-10  2:37     ` Peter Xu
2024-01-10 15:21       ` Cédric Le Goater
2024-01-11  2:42         ` Peter Xu
2024-01-11  6:20 ` Peter Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240109064628.595453-6-peterx@redhat.com \
    --to=peterx@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=bdas@redhat.com \
    --cc=clg@redhat.com \
    --cc=farosas@suse.de \
    --cc=jasowang@redhat.com \
    --cc=mst@redhat.com \
    --cc=ppandit@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).