From: Lukas Straub <lukasstraub2@web.de>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel@nongnu.org, Fabiano Rosas <farosas@suse.de>,
Laurent Vivier <lvivier@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Zhang Chen <zhangckid@gmail.com>,
Hailiang Zhang <zhanghailiang@xfusion.com>,
Markus Armbruster <armbru@redhat.com>,
Li Zhijian <lizhijian@fujitsu.com>,
"Dr. David Alan Gilbert" <dave@treblig.org>
Subject: Re: [PATCH v3 05/10] colo: Fix crash during device vmstate load
Date: Fri, 30 Jan 2026 13:49:42 +0100 [thread overview]
Message-ID: <20260130134942.721a2758@penguin> (raw)
In-Reply-To: <aXkiX-jvFOieE9FG@x1.local>
[-- Attachment #1: Type: text/plain, Size: 1483 bytes --]
On Tue, 27 Jan 2026 15:38:55 -0500
Peter Xu <peterx@redhat.com> wrote:
> On Sun, Jan 25, 2026 at 09:40:10PM +0100, Lukas Straub wrote:
> > With colo we load device vmstate during each checkpoint, on top of
> > a vm that was already running. Some devices expect a reset before
> > loading vmstate on such a previously running vm.
> >
> > This fixes a crash when using COLO with Q35 machine.
> >
> > Signed-off-by: Lukas Straub <lukasstraub2@web.de>
>
> Yes makes sense, maybe you can add some comments into the code too since
> this was overlooked before,
>
> Reviewed-by: Peter Xu <peterx@redhat.com>
>
> Have you tried to measure how many overheads will this introduce to loading
> each snapshot?
It's a large overhead actually, between 10-20 milliseconds.
Regards,
Lukas Straub
>
> > ---
> > migration/colo.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/migration/colo.c b/migration/colo.c
> > index db783f6fa77500386d923dd97e522883027e71d8..627b3706687036554eda3909b4194116a7640493 100644
> > --- a/migration/colo.c
> > +++ b/migration/colo.c
> > @@ -727,6 +727,7 @@ static void colo_incoming_process_checkpoint(MigrationIncomingState *mis,
> >
> > bql_lock();
> > vmstate_loading = true;
> > + qemu_system_reset(SHUTDOWN_CAUSE_SNAPSHOT_LOAD);
> > colo_flush_ram_cache();
> > ret = qemu_load_device_state(fb, errp);
> > if (ret < 0) {
> >
> > --
> > 2.39.5
> >
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-01-30 12:50 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-25 20:40 [PATCH v3 00/10] migration: Add COLO multifd support and COLO migration unit test Lukas Straub
2026-01-25 20:40 ` [PATCH v3 01/10] MAINTAINERS: Add myself as maintainer for COLO migration framework Lukas Straub
2026-01-25 20:40 ` [PATCH v3 02/10] MAINTAINERS: Remove Hailiang Zhang from " Lukas Straub
2026-01-25 20:40 ` [PATCH v3 03/10] Move ram state receive into multifd_ram_state_recv() Lukas Straub
2026-01-26 12:51 ` Fabiano Rosas
2026-01-25 20:40 ` [PATCH v3 04/10] multifd: Add COLO support Lukas Straub
2026-01-26 10:36 ` Zhang Chen
2026-01-26 11:13 ` Lukas Straub
2026-01-26 14:33 ` Fabiano Rosas
2026-01-26 19:33 ` Lukas Straub
2026-01-26 21:37 ` Fabiano Rosas
2026-01-27 20:36 ` Peter Xu
2026-01-28 12:30 ` Fabiano Rosas
2026-01-28 14:09 ` Peter Xu
2026-01-28 20:02 ` Fabiano Rosas
2026-02-03 9:47 ` Lukas Straub
2026-01-25 20:40 ` [PATCH v3 05/10] colo: Fix crash during device vmstate load Lukas Straub
2026-01-27 20:38 ` Peter Xu
2026-01-30 12:49 ` Lukas Straub [this message]
2026-02-02 14:12 ` Peter Xu
2026-02-03 9:25 ` Lukas Straub
2026-01-25 20:40 ` [PATCH v3 06/10] migration-test: Add COLO migration unit test Lukas Straub
2026-01-26 14:40 ` Fabiano Rosas
2026-01-27 20:49 ` Peter Xu
2026-01-30 10:24 ` Lukas Straub
2026-02-02 14:26 ` Peter Xu
2026-02-03 9:18 ` Lukas Straub
2026-02-03 21:21 ` Peter Xu
2026-02-06 19:11 ` Lukas Straub
2026-01-28 12:32 ` Fabiano Rosas
2026-01-25 20:40 ` [PATCH v3 07/10] Convert colo main documentation to restructuredText Lukas Straub
2026-01-25 20:40 ` [PATCH v3 08/10] qemu-colo.rst: Miscellaneous changes Lukas Straub
2026-01-26 10:21 ` Zhang Chen
2026-01-26 10:56 ` Lukas Straub
2026-01-25 20:40 ` [PATCH v3 09/10] qemu-colo.rst: Add my copyright Lukas Straub
2026-01-26 10:23 ` Zhang Chen
2026-01-25 20:40 ` [PATCH v3 10/10] qemu-colo.rst: Simplify the block replication setup Lukas Straub
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=20260130134942.721a2758@penguin \
--to=lukasstraub2@web.de \
--cc=armbru@redhat.com \
--cc=dave@treblig.org \
--cc=farosas@suse.de \
--cc=lizhijian@fujitsu.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=zhangckid@gmail.com \
--cc=zhanghailiang@xfusion.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.