From patchwork Fri Mar 22 14:48:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Orit Wasserman X-Patchwork-Id: 230075 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 407ED2C009F for ; Sat, 23 Mar 2013 01:49:03 +1100 (EST) Received: from localhost ([::1]:54888 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UJ3HB-0008Qd-Gd for incoming@patchwork.ozlabs.org; Fri, 22 Mar 2013 10:49:01 -0400 Received: from eggs.gnu.org ([208.118.235.92]:43168) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UJ3Fc-0006UY-AU for qemu-devel@nongnu.org; Fri, 22 Mar 2013 10:47:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UJ3FW-0007mV-Jh for qemu-devel@nongnu.org; Fri, 22 Mar 2013 10:47:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34267) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UJ3FW-0007mE-Cy for qemu-devel@nongnu.org; Fri, 22 Mar 2013 10:47:18 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r2MElGXj014293 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 22 Mar 2013 10:47:16 -0400 Received: from dhcp-1-120.tlv.redhat.com (vpn-200-53.tlv.redhat.com [10.35.200.53]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r2MEkukq010401; Fri, 22 Mar 2013 10:47:14 -0400 From: Orit Wasserman To: qemu-devel@nongnu.org Date: Fri, 22 Mar 2013 16:48:03 +0200 Message-Id: <1363963683-26157-8-git-send-email-owasserm@redhat.com> In-Reply-To: <1363963683-26157-1-git-send-email-owasserm@redhat.com> References: <1363963683-26157-1-git-send-email-owasserm@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 Cc: mst@redhat.com, quintela@redhat.com, Orit Wasserman , pbonzini@redhat.com, chegu_vinod@hp.com Subject: [Qemu-devel] [PATCH v5 7/7] Use qemu_put_buffer_async for guest memory pages 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 This will remove an unneeded copy of guest memory pages. For the page header and device state we still copy the data to the static buffer the other option is to allocate the memory on demand which is more expensive. Signed-off-by: Orit Wasserman --- arch_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch_init.c b/arch_init.c index 98e2bc6..aa56a20 100644 --- a/arch_init.c +++ b/arch_init.c @@ -481,7 +481,7 @@ static int ram_save_block(QEMUFile *f, bool last_stage) /* XBZRLE overflow or normal page */ if (bytes_sent == -1) { bytes_sent = save_block_hdr(f, block, offset, cont, RAM_SAVE_FLAG_PAGE); - qemu_put_buffer(f, p, TARGET_PAGE_SIZE); + qemu_put_buffer_async(f, p, TARGET_PAGE_SIZE); bytes_sent += TARGET_PAGE_SIZE; acct_info.norm_pages++; }