From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
QEMU <qemu-devel@nongnu.org>,
zhang.zhanghailiang@huawei.com
Subject: Re: Migration vmdesc and xen-save-devices-state
Date: Wed, 24 Jun 2020 18:56:53 +0100 [thread overview]
Message-ID: <20200624175653.GA49433@work-vm> (raw)
In-Reply-To: <CAKf6xptNySqXOHAZJiiBq=h99GBQcS8Cbzmpyqzy-ucxX8Od2Q@mail.gmail.com>
* Jason Andryuk (jandryuk@gmail.com) wrote:
> Hi,
>
> At some point, QEMU changed to add a json VM description (vmdesc)
> after the migration data. The vmdesc is not needed to restore the
> migration data, but qemu_loadvm_state() will read and discard the
> vmdesc to clear the stream when should_send_vmdesc() is true.
About 5 years ago :-)
> xen-save-devices-state generates its migration data without a vmdesc.
> xen-load-devices-state in turn calls qemu_loadvm_state() which tries
> to load vmdesc since should_send_vmdesc is true for xen. When
> restoring from a file, this is fine since it'll return EOF, print
> "Expected vmdescription section, but got 0" and end the restore
> successfully.
>
> Linux stubdoms load their migration data over a console, so they don't
> hit the EOF and end up waiting. There does seem to be a timeout
> though and restore continues after a delay, but we'd like to eliminate
> the delay.
>
> Two options to address this are to either:
> 1) set suppress_vmdesc for the Xen machines to bypass the
> should_send_vmdesc() check.
> or
> 2) just send the vmdesc data.
>
> Since vmdesc is just discarded, maybe #1 should be followed.
#1 does sound simple!
> If going with #2, qemu_save_device_state() needs to generate the
> vmdesc data. Looking at qemu_save_device_state() and
> qemu_savevm_state_complete_precopy_non_iterable(), they are both very
> similar and could seemingly be merged. qmp_xen_save_devices_state()
> could even leverage the bdrv_inactivate_all() call in
> qemu_savevm_state_complete_precopy_non_iterable().
>
> The would make qemu_save_device_state a little more heavywight, which
> could impact COLO. I'm not sure how performance sensitive the COLO
> code is, and I haven't measured anything.
COLO snapshots are potentially quite sensitive; although we've got a
load of other things we could do with speeding up, we could do without
making them noticably heavier.
Dave
> Does anyone have thoughts or opinions on the subject?
>
> Thanks,
> Jason
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2020-06-24 17:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-24 13:28 Migration vmdesc and xen-save-devices-state Jason Andryuk
2020-06-24 17:56 ` Dr. David Alan Gilbert [this message]
2020-06-25 2:44 ` Jason Andryuk
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=20200624175653.GA49433@work-vm \
--to=dgilbert@redhat.com \
--cc=jandryuk@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=xen-devel@lists.xenproject.org \
--cc=zhang.zhanghailiang@huawei.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.