From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42643) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UBVgn-0007rf-KC for qemu-devel@nongnu.org; Fri, 01 Mar 2013 14:32:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UBVgl-0004Do-3R for qemu-devel@nongnu.org; Fri, 01 Mar 2013 14:32:17 -0500 Received: from e9.ny.us.ibm.com ([32.97.182.139]:48263) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UBVgl-0004DS-0L for qemu-devel@nongnu.org; Fri, 01 Mar 2013 14:32:15 -0500 Received: from /spool/local by e9.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 1 Mar 2013 14:32:12 -0500 Received: from d01relay05.pok.ibm.com (d01relay05.pok.ibm.com [9.56.227.237]) by d01dlp02.pok.ibm.com (Postfix) with ESMTP id 73E7C6E801A for ; Fri, 1 Mar 2013 14:32:06 -0500 (EST) Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay05.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r21JW8ls262560 for ; Fri, 1 Mar 2013 14:32:08 -0500 Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r21JW5dC029096 for ; Fri, 1 Mar 2013 14:32:05 -0500 Message-ID: <51310234.103@linux.vnet.ibm.com> Date: Fri, 01 Mar 2013 14:32:04 -0500 From: "Michael R. Hines" MIME-Version: 1.0 References: <512FE6C3.5030409@linux.vnet.ibm.com> <51307618.6010708@redhat.com> In-Reply-To: <51307618.6010708@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC] parallelize migration_bitmap_sync() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: "qemu-devel@nongnu.org" Oh, that's fantastic - thanks for the response. - Michael On 03/01/2013 04:34 AM, Paolo Bonzini wrote: > Il 01/03/2013 00:22, Michael R. Hines ha scritto:te >> Hi, >> >> Currently migration_bitmap_sync() is very expensive: on the order of >> 15-20 milliseconds by my count using timestamps (for a simple 2GB ram >> virtual machine). >> Until new EPT processor versions come out in 2014, we need software >> support for cutting this time down much lower........by at least an >> order of magnitude. >> >> Would anyone be opposed to me writing a patch that creates N threads and >> dividing up the migration_bitmap_sync() function to have the dirty page >> scanning run in parallel? > Yes, that's a possibility. You can make a quick prototype using OpenMP. > > But Juan is working on making the dirty bitmap really a bitmap (not a > "bytemap"). That should speed up migration_bitmap_sync by a factor of > 64 (i.e. sizeof(long)*8). > > Paolo >