From: Juan Quintela <quintela@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel@nongnu.org, Laurent Vivier <lvivier@redhat.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 02/11] migration: qemu_savevm_state_cleanup() in cleanup
Date: Wed, 03 Jan 2018 10:15:41 +0100 [thread overview]
Message-ID: <87efn72the.fsf@secure.laptop> (raw)
In-Reply-To: <20180103054043.25719-3-peterx@redhat.com> (Peter Xu's message of "Wed, 3 Jan 2018 13:40:34 +0800")
Peter Xu <peterx@redhat.com> wrote:
> Moving existing callers all into migrate_fd_cleanup(). It simplifies
> migration_thread() a bit.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
I am trying to see if we can call migrate_fd_cleanup() twice. As far as
I can see, we are not doing it. But, and it is a big but, we are not
checking that we are not calling qemu_savevm_state_cleanup() twice. If
that happens, we can get double frees and similar.
I put the reviewed-by anyways, because I *think* that we are doing it
right now, and otherwise, we should make sure that we are not calling it
twice, not papering over it.
Once here, I have notice that we call block_cleanup_parameters() in
*three* places. We call notifier_list_notify() on two of this places (I
can't see any good reason *why* we don't call the notifier for
migrate_fd_cancel).
So, still more review/cleanups to do on this arera.
Later, Juan.
> ---
> migration/migration.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index 0ee4b4c27c..edbda43246 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1077,6 +1077,8 @@ static void migrate_fd_cleanup(void *opaque)
> qemu_bh_delete(s->cleanup_bh);
> s->cleanup_bh = NULL;
>
> + qemu_savevm_state_cleanup();
> +
> if (s->to_dst_file) {
> Error *local_err = NULL;
>
> @@ -2290,13 +2292,6 @@ static void *migration_thread(void *opaque)
> end_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
>
> qemu_mutex_lock_iothread();
> - /*
> - * The resource has been allocated by migration will be reused in COLO
> - * process, so don't release them.
> - */
> - if (!enable_colo) {
> - qemu_savevm_state_cleanup();
> - }
> if (s->state == MIGRATION_STATUS_COMPLETED) {
> uint64_t transferred_bytes = qemu_ftell(s->to_dst_file);
> s->total_time = end_time - s->total_time;
> @@ -2312,7 +2307,6 @@ static void *migration_thread(void *opaque)
> if (s->state == MIGRATION_STATUS_ACTIVE) {
> assert(enable_colo);
> migrate_start_colo_process(s);
> - qemu_savevm_state_cleanup();
> /*
> * Fixme: we will run VM in COLO no matter its old running state.
> * After exited COLO, we will keep running.
next prev parent reply other threads:[~2018-01-03 9:15 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-03 5:40 [Qemu-devel] [PATCH 00/11] migration: cleanup migration_thread() Peter Xu
2018-01-03 5:40 ` [Qemu-devel] [PATCH 01/11] migration: assert colo instead of check Peter Xu
2018-01-03 8:38 ` Juan Quintela
2018-01-03 8:58 ` Peter Xu
2018-01-03 5:40 ` [Qemu-devel] [PATCH 02/11] migration: qemu_savevm_state_cleanup() in cleanup Peter Xu
2018-01-03 9:15 ` Juan Quintela [this message]
2018-01-03 9:36 ` Peter Xu
2018-01-03 10:21 ` Juan Quintela
2018-01-03 10:26 ` Peter Xu
2018-01-03 11:18 ` Juan Quintela
2018-01-03 11:39 ` Peter Xu
2018-01-03 5:40 ` [Qemu-devel] [PATCH 03/11] migration: remove "enable_colo" var Peter Xu
2018-01-03 8:55 ` Juan Quintela
2018-01-03 5:40 ` [Qemu-devel] [PATCH 04/11] migration: split use of MigrationState.total_time Peter Xu
2018-01-03 8:58 ` Juan Quintela
2018-01-03 9:04 ` Peter Xu
2018-01-03 9:20 ` Juan Quintela
2018-01-03 9:29 ` Peter Xu
2018-01-03 5:40 ` [Qemu-devel] [PATCH 05/11] migration: move vm_old_running into global state Peter Xu
2018-01-03 9:05 ` Juan Quintela
2018-01-03 9:20 ` Peter Xu
2018-01-03 10:26 ` Juan Quintela
2018-01-03 10:40 ` Peter Xu
2018-01-03 5:40 ` [Qemu-devel] [PATCH 06/11] migration: introduce vm_down_start_time Peter Xu
2018-01-03 9:10 ` Juan Quintela
2018-01-03 9:40 ` Peter Xu
2018-01-03 5:40 ` [Qemu-devel] [PATCH 07/11] migration: introduce migrate_calculate_complete Peter Xu
2018-01-03 9:12 ` Juan Quintela
2018-01-03 10:52 ` Peter Xu
2018-01-03 5:40 ` [Qemu-devel] [PATCH 08/11] migration: use switch at the end of migration Peter Xu
2018-01-03 9:14 ` Juan Quintela
2018-01-03 5:40 ` [Qemu-devel] [PATCH 09/11] migration: cleanup stats update into function Peter Xu
2018-01-03 10:08 ` Juan Quintela
2018-01-03 10:55 ` Peter Xu
2018-01-03 10:58 ` Peter Xu
2018-01-03 5:40 ` [Qemu-devel] [PATCH 10/11] migration: major cleanup for migrate iterations Peter Xu
2018-01-03 10:19 ` Juan Quintela
2018-01-03 5:40 ` [Qemu-devel] [PATCH 11/11] migration: put the finish part into a new function Peter Xu
2018-01-03 10:20 ` Juan Quintela
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=87efn72the.fsf@secure.laptop \
--to=quintela@redhat.com \
--cc=dgilbert@redhat.com \
--cc=lvivier@redhat.com \
--cc=peterx@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 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.