From: Zhanghailiang <zhang.zhanghailiang@huawei.com>
To: Zhang Chen <chen.zhang@intel.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
Juan Quintela <quintela@redhat.com>,
qemu-dev <qemu-devel@nongnu.org>
Cc: Jason Wang <jasowang@redhat.com>, Zhang Chen <zhangckid@gmail.com>
Subject: RE: [PATCH 1/3] migration/colo: Optimize COLO boot code path
Date: Tue, 2 Jun 2020 03:29:23 +0000 [thread overview]
Message-ID: <3bc368bca0c548659b314cfbd320e6ed@huawei.com> (raw)
In-Reply-To: <20200515042818.17908-2-chen.zhang@intel.com>
Reviewed-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
> -----Original Message-----
> From: Zhang Chen [mailto:chen.zhang@intel.com]
> Sent: Friday, May 15, 2020 12:28 PM
> To: Dr . David Alan Gilbert <dgilbert@redhat.com>; Juan Quintela
> <quintela@redhat.com>; Zhanghailiang <zhang.zhanghailiang@huawei.com>;
> qemu-dev <qemu-devel@nongnu.org>
> Cc: Zhang Chen <zhangckid@gmail.com>; Jason Wang
> <jasowang@redhat.com>; Zhang Chen <chen.zhang@intel.com>
> Subject: [PATCH 1/3] migration/colo: Optimize COLO boot code path
>
> From: Zhang Chen <chen.zhang@intel.com>
>
> No need to reuse MIGRATION_STATUS_ACTIVE boot COLO.
>
> Signed-off-by: Zhang Chen <chen.zhang@intel.com>
> ---
> migration/colo.c | 2 --
> migration/migration.c | 17 ++++++++++-------
> 2 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/migration/colo.c b/migration/colo.c index
> d015d4f84e..5ef69b885d 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -669,8 +669,6 @@ void migrate_start_colo_process(MigrationState *s)
> colo_checkpoint_notify, s);
>
> qemu_sem_init(&s->colo_exit_sem, 0);
> - migrate_set_state(&s->state, MIGRATION_STATUS_ACTIVE,
> - MIGRATION_STATUS_COLO);
> colo_process_checkpoint(s);
> qemu_mutex_lock_iothread();
> }
> diff --git a/migration/migration.c b/migration/migration.c index
> 0bb042a0f7..c889ef6eb7 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -2972,7 +2972,10 @@ static void
> migration_completion(MigrationState *s)
> goto fail_invalidate;
> }
>
> - if (!migrate_colo_enabled()) {
> + if (migrate_colo_enabled()) {
> + migrate_set_state(&s->state, current_active_state,
> + MIGRATION_STATUS_COLO);
> + } else {
> migrate_set_state(&s->state, current_active_state,
> MIGRATION_STATUS_COMPLETED);
> }
> @@ -3304,12 +3307,7 @@ static void
> migration_iteration_finish(MigrationState *s)
> migration_calculate_complete(s);
> runstate_set(RUN_STATE_POSTMIGRATE);
> break;
> -
> - case MIGRATION_STATUS_ACTIVE:
> - /*
> - * We should really assert here, but since it's during
> - * migration, let's try to reduce the usage of assertions.
> - */
> + case MIGRATION_STATUS_COLO:
> if (!migrate_colo_enabled()) {
> error_report("%s: critical error: calling COLO code without "
> "COLO enabled", __func__); @@ -3319,6
> +3317,11 @@ static void migration_iteration_finish(MigrationState *s)
> * Fixme: we will run VM in COLO no matter its old running state.
> * After exited COLO, we will keep running.
> */
> + case MIGRATION_STATUS_ACTIVE:
> + /*
> + * We should really assert here, but since it's during
> + * migration, let's try to reduce the usage of assertions.
> + */
> s->vm_was_running = true;
> /* Fallthrough */
> case MIGRATION_STATUS_FAILED:
> --
> 2.17.1
next prev parent reply other threads:[~2020-06-02 3:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-15 4:28 [PATCH 0/3] migration/colo: Optimize COLO framework code Zhang Chen
2020-05-15 4:28 ` [PATCH 1/3] migration/colo: Optimize COLO boot code path Zhang Chen
2020-06-02 3:29 ` Zhanghailiang [this message]
2020-05-15 4:28 ` [PATCH 2/3] migration/colo: Update checkpoint time lately Zhang Chen
2020-06-02 6:20 ` Zhanghailiang
2020-05-15 4:28 ` [PATCH 3/3] migration/colo: Merge multi checkpoint request into one Zhang Chen
2020-06-02 6:59 ` Zhanghailiang
2020-06-03 9:11 ` Zhang, Chen
2020-06-03 9:38 ` Zhanghailiang
2020-06-04 6:35 ` Zhang, Chen
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=3bc368bca0c548659b314cfbd320e6ed@huawei.com \
--to=zhang.zhanghailiang@huawei.com \
--cc=chen.zhang@intel.com \
--cc=dgilbert@redhat.com \
--cc=jasowang@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=zhangckid@gmail.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.