From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56769) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a65Uz-0004Ew-PF for qemu-devel@nongnu.org; Mon, 07 Dec 2015 18:47:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a65Uy-00017n-Qg for qemu-devel@nongnu.org; Mon, 07 Dec 2015 18:47:17 -0500 References: <1449467995-18793-1-git-send-email-famz@redhat.com> From: John Snow Message-ID: <56661A7C.7020301@redhat.com> Date: Mon, 7 Dec 2015 18:47:08 -0500 MIME-Version: 1.0 In-Reply-To: <1449467995-18793-1-git-send-email-famz@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH RFC for-2.6 0/3] block: Add meta dirty bitmap for migration/persistence List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng , qemu-devel@nongnu.org Cc: Kevin Wolf , pbonzini@redhat.com, Vladimir Sementsov-Ogievskiy , Stefan Hajnoczi , qemu-block@nongnu.org On 12/07/2015 12:59 AM, Fam Zheng wrote: > Vladimir, > > This is what I propose to implement meta bitmap. It's implemented in the > HBitmap level to be more efficient, and the interface slightly varies too. > I missed it: What was wrong with Vladimir's approach / what are the benefits of this approach? > I'd like to use these operations to make dirty bitmap persistence more > efficient too: unchanged dirty bits don't need to be flushed to disk. So I'm > posting this as a separate series for a common base for both sides. > This is a reasonable use of the meta-bitmap strategy in general. Keep in mind Vladimir's approach to Meta bitmaps used a different granularity such that 1 physical bit implied 1 sector needed to be re-transmitted. A meta-bitmap that keeps track of disk flushes may require a different granularity than one used for migration. > Posting as RFC as 2.6 dev phase is just starting, we can still tweak the > interface and/or implementation to fit the need. > > Fam Zheng (3): > HBitmap: Introduce "meta" bitmap to track bit changes > tests: Add test code for meta bitmap > block: Support meta dirty bitmap > > block.c | 46 ++++++++++++++++++++++++++++++- > block/mirror.c | 3 +- > blockdev.c | 3 +- > include/block/block.h | 11 ++++++++ > include/qemu/hbitmap.h | 7 +++++ > migration/block.c | 2 +- > tests/test-hbitmap.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ > util/hbitmap.c | 22 +++++++++++++++ > 8 files changed, 164 insertions(+), 4 deletions(-) >