From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56656) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZkEdg-0008DT-WB for qemu-devel@nongnu.org; Thu, 08 Oct 2015 13:05:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZkEdc-00020d-PW for qemu-devel@nongnu.org; Thu, 08 Oct 2015 13:05:56 -0400 Received: from relay.parallels.com ([195.214.232.42]:43851) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZkEdc-00020C-2c for qemu-devel@nongnu.org; Thu, 08 Oct 2015 13:05:52 -0400 References: <5614531B.5080107@redhat.com> <1444198846-5383-1-git-send-email-den@openvz.org> <1444198846-5383-8-git-send-email-den@openvz.org> <20151007135653.GF2710@work-vm> From: "Denis V. Lunev" Message-ID: <5616A263.5080704@openvz.org> Date: Thu, 8 Oct 2015 20:05:39 +0300 MIME-Version: 1.0 In-Reply-To: <20151007135653.GF2710@work-vm> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH 7/8] migration: new migration test mode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert" Cc: Igor Redko , quintela@redhat.com, qemu-devel@nongnu.org, annam@virtuozzo.com, amit.shah@redhat.com, jsnow@redhat.com On 10/07/2015 04:56 PM, Dr. David Alan Gilbert wrote: > * Denis V. Lunev (den@openvz.org) wrote: >> From: Igor Redko >> >> In this patch the ability to start a migration with test-only >> capability was added. It allows to gather the guest VM’s memory >> usage statistics avoiding time and memory overheads and real >> data transmission. New MIGRATION_STATUS_TEST_COMPLETED was >> added to distinguish between test migration and true migration >> success states. > Why isn't this just a new transport? i.e. I could do this just by doing > a migrate to test: ? > > It seems simpler and avoids some of the special casing? > > Dave we would like to avoid VM pause in the migration_thread when the process is finished. Thus we should have a capability for this in the rest of the code. Though we can setup the capability here or in the suitable place and check that capability in the migration thread using transport here as a distinction. Will it be OK for you? Den >> Signed-off-by: Igor Redko >> Reviewed-by: Anna Melekhova >> Signed-off-by: Denis V. Lunev >> --- >> migration/migration.c | 12 ++++++++++-- >> qapi-schema.json | 4 +++- >> 2 files changed, 13 insertions(+), 3 deletions(-) >> >> diff --git a/migration/migration.c b/migration/migration.c >> index 3182e15..3470d39 100644 >> --- a/migration/migration.c >> +++ b/migration/migration.c >> @@ -790,7 +790,9 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk, >> >> s = migrate_init(¶ms); >> >> - if (strstart(uri, "tcp:", &p)) { >> + if (migrate_is_test()) { >> + test_start_migration(s, p, &local_err); >> + } else if (strstart(uri, "tcp:", &p)) { >> tcp_start_outgoing_migration(s, p, &local_err); >> #ifdef CONFIG_RDMA >> } else if (strstart(uri, "rdma:", &p)) { >> @@ -1054,8 +1056,14 @@ static void *migration_thread(void *opaque) >> } >> >> if (qemu_file_get_error(s->file)) { >> - migrate_set_state(s, MIGRATION_STATUS_ACTIVE, >> + /*FIXME replace magic number with smth legit*/ >> + if (migrate_is_test() && qemu_file_get_error(s->file) == -42) { >> + migrate_set_state(s, MIGRATION_STATUS_ACTIVE, >> + MIGRATION_STATUS_TEST_COMPLETED); >> + } else { >> + migrate_set_state(s, MIGRATION_STATUS_ACTIVE, >> MIGRATION_STATUS_FAILED); >> + } >> break; >> } >> >> diff --git a/qapi-schema.json b/qapi-schema.json >> index 38bf199..e022f9c 100644 >> --- a/qapi-schema.json >> +++ b/qapi-schema.json >> @@ -432,6 +432,8 @@ >> # >> # @completed: migration is finished. >> # >> +# @test-completed: migration time estimation finished. >> +# >> # @failed: some error occurred during migration process. >> # >> # Since: 2.3 >> @@ -439,7 +441,7 @@ >> ## >> { 'enum': 'MigrationStatus', >> 'data': [ 'none', 'setup', 'cancelling', 'cancelled', >> - 'active', 'completed', 'failed' ] } >> + 'active', 'completed', 'test-completed', 'failed' ] } >> >> ## >> # @MigrationInfo >> -- >> 2.1.4 >> >> > -- > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK