From nobody Sun Oct 26 03:53:42 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 15149581919431004.2801610787493; Tue, 2 Jan 2018 21:43:11 -0800 (PST) Received: from localhost ([::1]:40580 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eWbpN-0004JH-O1 for importer@patchew.org; Wed, 03 Jan 2018 00:43:01 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47885) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eWbnS-00033A-CI for qemu-devel@nongnu.org; Wed, 03 Jan 2018 00:41:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eWbnP-0000ut-4l for qemu-devel@nongnu.org; Wed, 03 Jan 2018 00:41:02 -0500 Received: from mx1.redhat.com ([209.132.183.28]:42658) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eWbnO-0000uE-Sr for qemu-devel@nongnu.org; Wed, 03 Jan 2018 00:40:59 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0C6D67E423 for ; Wed, 3 Jan 2018 05:40:58 +0000 (UTC) Received: from xz-mi.nay.redhat.com (dhcp-14-131.nay.redhat.com [10.66.14.131]) by smtp.corp.redhat.com (Postfix) with ESMTP id 49B4F6198E; Wed, 3 Jan 2018 05:40:56 +0000 (UTC) From: Peter Xu To: qemu-devel@nongnu.org Date: Wed, 3 Jan 2018 13:40:36 +0800 Message-Id: <20180103054043.25719-5-peterx@redhat.com> In-Reply-To: <20180103054043.25719-1-peterx@redhat.com> References: <20180103054043.25719-1-peterx@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 03 Jan 2018 05:40:58 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 04/11] migration: split use of MigrationState.total_time X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , "Dr . David Alan Gilbert" , peterx@redhat.com, Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" It was used either to: 1. store initial timestamp of migration start, and 2. store total time used by last migration Let's provide two parameters for each of them. Mix use of the two is slightly misleading. Signed-off-by: Peter Xu Reviewed-by: Juan Quintela --- migration/migration.c | 13 +++++++------ migration/migration.h | 5 ++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 20f7565527..b684c2005d 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -613,7 +613,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) info->has_status =3D true; info->has_total_time =3D true; info->total_time =3D qemu_clock_get_ms(QEMU_CLOCK_REALTIME) - - s->total_time; + - s->mig_start_time; info->has_expected_downtime =3D true; info->expected_downtime =3D s->expected_downtime; info->has_setup_time =3D true; @@ -629,7 +629,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) case MIGRATION_STATUS_COMPLETED: info->has_status =3D true; info->has_total_time =3D true; - info->total_time =3D s->total_time; + info->total_time =3D s->mig_total_time; info->has_downtime =3D true; info->downtime =3D s->downtime; info->has_setup_time =3D true; @@ -1270,7 +1270,8 @@ MigrationState *migrate_init(void) =20 migrate_set_state(&s->state, MIGRATION_STATUS_NONE, MIGRATION_STATUS_S= ETUP); =20 - s->total_time =3D qemu_clock_get_ms(QEMU_CLOCK_REALTIME); + s->mig_start_time =3D qemu_clock_get_ms(QEMU_CLOCK_REALTIME); + s->mig_total_time =3D 0; return s; } =20 @@ -2293,13 +2294,13 @@ static void *migration_thread(void *opaque) qemu_mutex_lock_iothread(); if (s->state =3D=3D MIGRATION_STATUS_COMPLETED) { uint64_t transferred_bytes =3D qemu_ftell(s->to_dst_file); - s->total_time =3D end_time - s->total_time; + s->mig_total_time =3D end_time - s->mig_start_time; if (!entered_postcopy) { s->downtime =3D end_time - start_time; } - if (s->total_time) { + if (s->mig_total_time) { s->mbps =3D (((double) transferred_bytes * 8.0) / - ((double) s->total_time)) / 1000; + ((double) s->mig_total_time)) / 1000; } runstate_set(RUN_STATE_POSTMIGRATE); } else { diff --git a/migration/migration.h b/migration/migration.h index 663415fe48..ac74a12713 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -103,7 +103,10 @@ struct MigrationState } rp_state; =20 double mbps; - int64_t total_time; + /* Timestamp when recent migration starts (ms) */ + int64_t mig_start_time; + /* Total time used by latest migration (ms) */ + int64_t mig_total_time; int64_t downtime; int64_t expected_downtime; bool enabled_capabilities[MIGRATION_CAPABILITY__MAX]; --=20 2.14.3