migration/multifd: Document two places for mapped-ram
Add two documentations for mapped-ram migration on two spots that may not be extremely clear. Reviewed-by: Fabiano Rosas <farosas@suse.de> Link: https://lore.kernel.org/r/20240301091524.39900-1-peterx@redhat.com Cc: Prasad Pandit <ppandit@redhat.com> [peterx: fix two English errors per Prasad] Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
7a09f09283
commit
1a6e217c35
@ -709,6 +709,18 @@ static bool multifd_send_cleanup_channel(MultiFDSendParams *p, Error **errp)
|
||||
{
|
||||
if (p->c) {
|
||||
migration_ioc_unregister_yank(p->c);
|
||||
/*
|
||||
* An explicit close() on the channel here is normally not
|
||||
* required, but can be helpful for "file:" iochannels, where it
|
||||
* will include fdatasync() to make sure the data is flushed to the
|
||||
* disk backend.
|
||||
*
|
||||
* The object_unref() cannot guarantee that because: (1) finalize()
|
||||
* of the iochannel is only triggered on the last reference, and
|
||||
* it's not guaranteed that we always hold the last refcount when
|
||||
* reaching here, and, (2) even if finalize() is invoked, it only
|
||||
* does a close(fd) without data flush.
|
||||
*/
|
||||
qio_channel_close(p->c, &error_abort);
|
||||
object_unref(OBJECT(p->c));
|
||||
p->c = NULL;
|
||||
|
@ -4258,7 +4258,13 @@ static int ram_load_precopy(QEMUFile *f)
|
||||
switch (flags & ~RAM_SAVE_FLAG_CONTINUE) {
|
||||
case RAM_SAVE_FLAG_MEM_SIZE:
|
||||
ret = parse_ramblocks(f, addr);
|
||||
|
||||
/*
|
||||
* For mapped-ram migration (to a file) using multifd, we sync
|
||||
* once and for all here to make sure all tasks we queued to
|
||||
* multifd threads are completed, so that all the ramblocks
|
||||
* (including all the guest memory pages within) are fully
|
||||
* loaded after this sync returns.
|
||||
*/
|
||||
if (migrate_mapped_ram()) {
|
||||
multifd_recv_sync_main();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user