From patchwork Thu Sep 24 14:07:04 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Denis V. Lunev" X-Patchwork-Id: 522358 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id C690914017E for ; Fri, 25 Sep 2015 00:07:32 +1000 (AEST) Received: from localhost ([::1]:38103 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zf7BL-0006il-0L for incoming@patchwork.ozlabs.org; Thu, 24 Sep 2015 10:07:31 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55396) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zf7B5-0006Oh-2q for qemu-devel@nongnu.org; Thu, 24 Sep 2015 10:07:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zf7B1-00051z-Ti for qemu-devel@nongnu.org; Thu, 24 Sep 2015 10:07:15 -0400 Received: from mailhub.sw.ru ([195.214.232.25]:2338 helo=relay.sw.ru) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zf7B1-0004zG-Hp for qemu-devel@nongnu.org; Thu, 24 Sep 2015 10:07:11 -0400 Received: from irbis.sw.ru ([10.30.2.139]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id t8OE74Nr024647; Thu, 24 Sep 2015 17:07:05 +0300 (MSK) From: "Denis V. Lunev" To: Date: Thu, 24 Sep 2015 17:07:04 +0300 Message-Id: <1443103624-17230-1-git-send-email-den@openvz.org> X-Mailer: git-send-email 2.1.4 X-detected-operating-system: by eggs.gnu.org: OpenBSD 3.x X-Received-From: 195.214.232.25 Cc: Amit Shah , Igor Redko , Juan Quintela , qemu-devel@nongnu.org, "Denis V. Lunev" Subject: [Qemu-devel] [PATCH 1/1] migration: fix expected_downtime X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Igor Redko To get this estimation we must divide pending_size by bandwidth according to description of expected-downtime ("qmp-commands.hx:3246"): "expected-downtime": only present while migration is active total amount in ms for downtime that was calculated on the last bitmap round (json-int) Previous version was just wrong because dirty_bytes_rate and bandwidth are measured in Bytes/ms, so dividing first by second we get some dimensionless quantity. As it said in description above this value is showed during active migration phase and recalculated only after transferring all memory and if this process took more than 1 sec. So maybe just nobody noticed that bug. Signed-off-by: Igor Redko Reviewed-by: Anna Melekhova Signed-off-by: Denis V. Lunev CC: Juan Quintela CC: Amit Shah --- migration/migration.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/migration.c b/migration/migration.c index 662e77e..d55d545 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -994,7 +994,7 @@ static void *migration_thread(void *opaque) /* if we haven't sent anything, we don't want to recalculate 10000 is a small enough number for our purposes */ if (s->dirty_bytes_rate && transferred_bytes > 10000) { - s->expected_downtime = s->dirty_bytes_rate / bandwidth; + s->expected_downtime = pending_size / bandwidth; } qemu_file_reset_rate_limit(s->file);