<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qemu/docs/devel/migration, branch master</title>
<subtitle>QEMU development tree</subtitle>
<id>https://git.zx2c4.com/qemu/atom/docs/devel/migration?h=master</id>
<link rel='self' href='https://git.zx2c4.com/qemu/atom/docs/devel/migration?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/'/>
<updated>2024-08-16T13:12:59Z</updated>
<entry>
<title>docs: Fix some typos (found by typos) and grammar issues</title>
<updated>2024-08-16T13:12:59Z</updated>
<author>
<name>Stefan Weil</name>
<email>sw@weilnetz.de</email>
</author>
<published>2024-08-13T20:23:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=24c32ed3745af104ee6f47c09c13042e8e4657db'/>
<id>urn:sha1:24c32ed3745af104ee6f47c09c13042e8e4657db</id>
<content type='text'>
Fix the misspellings of "overriden" also in code comments.

Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-Id: &lt;20240813125638.395461-1-sw@weilnetz.de&gt;
Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;20240813202329.1237572-20-alex.bennee@linaro.org&gt;
</content>
</entry>
<entry>
<title>migration/docs: Update postcopy recover session for SETUP phase</title>
<updated>2024-06-21T12:47:59Z</updated>
<author>
<name>Peter Xu</name>
<email>peterx@redhat.com</email>
</author>
<published>2024-06-19T22:30:41Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=21e89f7ad526f0dddfc722e615bfb0fcdb705c87'/>
<id>urn:sha1:21e89f7ad526f0dddfc722e615bfb0fcdb705c87</id>
<content type='text'>
Firstly, the "Paused" state was added in the wrong place before. The state
machine section was describing PostcopyState, rather than MigrationStatus.
Drop the Paused state descriptions.

Then in the postcopy recover session, add more information on the state
machine for MigrationStatus in the lines.  Add the new RECOVER_SETUP phase.

Reviewed-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
[fix typo s/reconnects/reconnect]
Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
</content>
</entry>
<entry>
<title>migration: Add documentation for fdset with multifd + file</title>
<updated>2024-06-21T12:47:22Z</updated>
<author>
<name>Fabiano Rosas</name>
<email>farosas@suse.de</email>
</author>
<published>2024-06-17T18:57:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=8d60280e4f1621e13aea4aa593b5bc3e2af34e9d'/>
<id>urn:sha1:8d60280e4f1621e13aea4aa593b5bc3e2af34e9d</id>
<content type='text'>
With the last few changes to the fdset infrastructure, we now allow
multifd to use an fdset when migrating to a file. This is useful for
the scenario where the management layer wants to have control over the
migration file.

By receiving the file descriptors directly, QEMU can delegate some
high level operating system operations to the management layer (such
as mandatory access control). The management layer might also want to
add its own headers before the migration stream.

Document the "file:/dev/fdset/#" syntax for the multifd migration with
mapped-ram. The requirements for the fdset mechanism are:

- the fdset must contain two fds that are not duplicates between
  themselves;

- if direct-io is to be used, exactly one of the fds must have the
  O_DIRECT flag set;

- the file must be opened with WRONLY on the migration source side;

- the file must be opened with RDONLY on the migration destination
  side.

Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
</content>
</entry>
<entry>
<title>docs/migration: add uadk compression feature</title>
<updated>2024-06-14T17:01:29Z</updated>
<author>
<name>Shameer Kolothum</name>
<email>shameerali.kolothum.thodi@huawei.com</email>
</author>
<published>2024-06-07T13:53:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=3ae9bd97829213808298ae6d35ea26f8def15dc1'/>
<id>urn:sha1:3ae9bd97829213808298ae6d35ea26f8def15dc1</id>
<content type='text'>
Document UADK(User Space Accelerator Development Kit) library details
and how to use that for migration.

Signed-off-by: Shameer Kolothum &lt;shameerali.kolothum.thodi@huawei.com&gt;
Reviewed-by: Zhangfei Gao &lt;zhangfei.gao@linaro.org&gt;
[s/Qemu/QEMU in docs]
Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
</content>
</entry>
<entry>
<title>docs/migration: add qpl compression feature</title>
<updated>2024-06-14T17:01:28Z</updated>
<author>
<name>Yuan Liu</name>
<email>yuan1.liu@intel.com</email>
</author>
<published>2024-06-10T10:21:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=0d40b3d76ced77c1c82c77a636af703fabdb407c'/>
<id>urn:sha1:0d40b3d76ced77c1c82c77a636af703fabdb407c</id>
<content type='text'>
add Intel Query Processing Library (QPL) compression method
introduction

Signed-off-by: Yuan Liu &lt;yuan1.liu@intel.com&gt;
Reviewed-by: Nanhai Zou &lt;nanhai.zou@intel.com&gt;
Reviewed-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Acked-by: Peter Xu &lt;peterx@redhat.com&gt;
Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
</content>
</entry>
<entry>
<title>migration: Remove block migration</title>
<updated>2024-05-08T12:20:58Z</updated>
<author>
<name>Fabiano Rosas</name>
<email>farosas@suse.de</email>
</author>
<published>2024-04-30T14:27:35Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=eef0bae3a75fa33921ac859f70fd154310915ad4'/>
<id>urn:sha1:eef0bae3a75fa33921ac859f70fd154310915ad4</id>
<content type='text'>
The block migration has been considered obsolete since QEMU 8.2 in
favor of the more flexible storage migration provided by the
blockdev-mirror driver. Two releases have passed so now it's time to
remove it.

Deprecation commit 66db46ca83 ("migration: Deprecate block
migration").

Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
</content>
</entry>
<entry>
<title>migration: cpr-reboot documentation</title>
<updated>2024-03-13T14:59:25Z</updated>
<author>
<name>Steve Sistare</name>
<email>steven.sistare@oracle.com</email>
</author>
<published>2024-03-13T13:55:19Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=20e6b1565306c9f537225e633c9a9fb67394937a'/>
<id>urn:sha1:20e6b1565306c9f537225e633c9a9fb67394937a</id>
<content type='text'>
Signed-off-by: Steve Sistare &lt;steven.sistare@oracle.com&gt;
Reviewed-by: Cédric Le Goater &lt;clg@redhat.com&gt;
Reviewed-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Link: https://lore.kernel.org/r/1710338119-330923-1-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
</content>
</entry>
<entry>
<title>migration/multifd: Don't fsync when closing QIOChannelFile</title>
<updated>2024-03-11T18:41:40Z</updated>
<author>
<name>Fabiano Rosas</name>
<email>farosas@suse.de</email>
</author>
<published>2024-03-05T19:56:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=61dec060821de5d81a0c5f6b827e4f0282cd92ca'/>
<id>urn:sha1:61dec060821de5d81a0c5f6b827e4f0282cd92ca</id>
<content type='text'>
Commit bc38feddeb ("io: fsync before closing a file channel") added a
fsync/fdatasync at the closing point of the QIOChannelFile to ensure
integrity of the migration stream in case of QEMU crash.

The decision to do the sync at qio_channel_close() was not the best
since that function runs in the main thread and the fsync can cause
QEMU to hang for several minutes, depending on the migration size and
disk speed.

To fix the hang, remove the fsync from qio_channel_file_close().

At this moment, the migration code is the only user of the fsync and
we're taking the tradeoff of not having a sync at all, leaving the
responsibility to the upper layers.

Fixes: bc38feddeb ("io: fsync before closing a file channel")
Reviewed-by: "Daniel P. Berrangé" &lt;berrange@redhat.com&gt;
Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Link: https://lore.kernel.org/r/20240305195629.9922-1-farosas@suse.de
Link: https://lore.kernel.org/r/20240305174332.2553-1-farosas@suse.de
[peterx: add more comment to the qio_channel_close()]
Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
</content>
</entry>
<entry>
<title>migration/ram: Introduce 'mapped-ram' migration capability</title>
<updated>2024-03-01T07:42:04Z</updated>
<author>
<name>Fabiano Rosas</name>
<email>farosas@suse.de</email>
</author>
<published>2024-02-29T15:30:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=4ed49feb4449f6959256c083afcb94116561b507'/>
<id>urn:sha1:4ed49feb4449f6959256c083afcb94116561b507</id>
<content type='text'>
Add a new migration capability 'mapped-ram'.

The core of the feature is to ensure that RAM pages are mapped
directly to offsets in the resulting migration file instead of being
streamed at arbitrary points.

The reasons why we'd want such behavior are:

 - The resulting file will have a bounded size, since pages which are
   dirtied multiple times will always go to a fixed location in the
   file, rather than constantly being added to a sequential
   stream. This eliminates cases where a VM with, say, 1G of RAM can
   result in a migration file that's 10s of GBs, provided that the
   workload constantly redirties memory.

 - It paves the way to implement O_DIRECT-enabled save/restore of the
   migration stream as the pages are ensured to be written at aligned
   offsets.

 - It allows the usage of multifd so we can write RAM pages to the
   migration file in parallel.

For now, enabling the capability has no effect. The next couple of
patches implement the core functionality.

Acked-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Link: https://lore.kernel.org/r/20240229153017.2221-8-farosas@suse.de
Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
</content>
</entry>
<entry>
<title>docs/devel/migration.rst: Document the file transport</title>
<updated>2024-02-28T03:31:28Z</updated>
<author>
<name>Fabiano Rosas</name>
<email>farosas@suse.de</email>
</author>
<published>2024-02-20T22:41:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=c35462f19b70afd27420f260aaa62adb30eafe91'/>
<id>urn:sha1:c35462f19b70afd27420f260aaa62adb30eafe91</id>
<content type='text'>
When adding the support for file migration with the file: transport,
we missed adding documentation for it.

Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Link: https://lore.kernel.org/r/20240220224138.24759-2-farosas@suse.de
Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
</content>
</entry>
</feed>
