From patchwork Fri Feb 15 17:47:08 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 220814 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id E27942C0085 for ; Sat, 16 Feb 2013 05:58:37 +1100 (EST) Received: from localhost ([::1]:56341 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U6PPo-0008NJ-8D for incoming@patchwork.ozlabs.org; Fri, 15 Feb 2013 12:49:40 -0500 Received: from eggs.gnu.org ([208.118.235.92]:51538) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U6PP7-0007Vh-UT for qemu-devel@nongnu.org; Fri, 15 Feb 2013 12:49:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U6PP2-0004YE-5N for qemu-devel@nongnu.org; Fri, 15 Feb 2013 12:48:57 -0500 Received: from mail-vb0-f42.google.com ([209.85.212.42]:63236) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U6PP2-0004Y4-16 for qemu-devel@nongnu.org; Fri, 15 Feb 2013 12:48:52 -0500 Received: by mail-vb0-f42.google.com with SMTP id ff1so2342540vbb.29 for ; Fri, 15 Feb 2013 09:48:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references; bh=Ie1lYh5uyvNjLHYKBii31uyP0i2wdyQCfjraEQqIw8w=; b=NOYRdTS/wP88nx+CR6SKUckNRmHHgmcnm3/ozWE2FlS4odBjYiyVnbgIhCBjV/F8Yi yOn3N9uKClYLSP1pFIY67sxMLhPtPVzSgAvUAb8/xrr6oltAtw4WscXW8RJA4aXSJsv7 WIOD6QvdaVXTbjX1eKrBZd1qPwuCX9vK6KxYhedJVSXZujBMAzcTR9TWDYTP4oHVEOkj pvhU4MdvPCLBgaEa/peaN1ItH77Go7C6zwMRZ9jCzNW19KpUwAbUQJp/8a2QEpzkEEXp 1fz5nU/Ov7WAz4UIpg/pRrVladj60gAW0dzPmQtkJ+VlMOnDtXfDF6cCi9f1W1Zhvs7n LxvQ== X-Received: by 10.52.71.137 with SMTP id v9mr3750229vdu.104.1360950523462; Fri, 15 Feb 2013 09:48:43 -0800 (PST) Received: from yakj.usersys.redhat.com (93-34-179-137.ip50.fastwebnet.it. [93.34.179.137]) by mx.google.com with ESMTPS id yu12sm65402142vec.6.2013.02.15.09.48.41 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 15 Feb 2013 09:48:42 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Fri, 15 Feb 2013 18:47:08 +0100 Message-Id: <1360950433-17106-37-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.1.2 In-Reply-To: <1360950433-17106-1-git-send-email-pbonzini@redhat.com> References: <1360950433-17106-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 209.85.212.42 Cc: owasserm@redhat.com, chegu_vinod@hp.com, quintela@redhat.com Subject: [Qemu-devel] [PATCH 36/41] migration: use qemu_ftell to compute bandwidth 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 Prepare for when s->bytes_xfer will be removed. Signed-off-by: Paolo Bonzini Reviewed-by: Juan Quintela Reviewed-by: Orit Wasserman --- migration.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/migration.c b/migration.c index 68d47cd..d636c59 100644 --- a/migration.c +++ b/migration.c @@ -575,6 +575,7 @@ static void *migration_thread(void *opaque) { MigrationState *s = opaque; int64_t initial_time = qemu_get_clock_ms(rt_clock); + int64_t initial_bytes = 0; int64_t max_size = 0; int64_t start_time = initial_time; bool old_vm_running = false; @@ -613,7 +614,7 @@ static void *migration_thread(void *opaque) break; } if (current_time >= initial_time + BUFFER_DELAY) { - uint64_t transferred_bytes = s->bytes_xfer; + uint64_t transferred_bytes = qemu_ftell(s->file) - initial_bytes; uint64_t time_spent = current_time - initial_time; double bandwidth = transferred_bytes / time_spent; max_size = bandwidth * migrate_max_downtime() / 1000000; @@ -624,6 +625,7 @@ static void *migration_thread(void *opaque) s->bytes_xfer = 0; initial_time = current_time; + initial_bytes = qemu_ftell(s->file); } if (qemu_file_rate_limit(s->file)) { /* usleep expects microseconds */