Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933421AbcDSQPI (ORCPT ); Tue, 19 Apr 2016 12:15:08 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38108 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933312AbcDSQPF (ORCPT ); Tue, 19 Apr 2016 12:15:05 -0400 Date: Tue, 19 Apr 2016 19:15:00 +0300 From: "Michael S. Tsirkin" To: "Li, Liang Z" Cc: Rik van Riel , "viro@zeniv.linux.org.uk" , "linux-kernel@vger.kernel.org" , "quintela@redhat.com" , "amit.shah@redhat.com" , "pbonzini@redhat.com" , "dgilbert@redhat.com" , "linux-mm@kvack.org" , "kvm@vger.kernel.org" , "qemu-devel@nongnu.org" , "agraf@suse.de" , "borntraeger@de.ibm.com" Subject: Re: [PATCH kernel 1/2] mm: add the related functions to build the free page bitmap Message-ID: <20160419191111-mutt-send-email-mst@redhat.com> References: <1461076474-3864-1-git-send-email-liang.z.li@intel.com> <1461076474-3864-2-git-send-email-liang.z.li@intel.com> <1461077659.3200.8.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1145 Lines: 28 On Tue, Apr 19, 2016 at 03:02:09PM +0000, Li, Liang Z wrote: > > On Tue, 2016-04-19 at 22:34 +0800, Liang Li wrote: > > > The free page bitmap will be sent to QEMU through virtio interface and > > > used for live migration optimization. > > > Drop the cache before building the free page bitmap can get more free > > > pages. Whether dropping the cache is decided by user. > > > > > > > How do you prevent the guest from using those recently-freed pages for > > something else, between when you build the bitmap and the live migration > > completes? > > Because the dirty page logging is enabled before building the bitmap, there is no need > to prevent the guest from using the recently-freed pages ... > > Liang Well one point of telling host that page is free is so that it can mark it clean even if it was dirty previously. So I think you must pass the pages to guest under the lock. This will allow host optimizations such as marking these pages MADV_DONTNEED or MADV_FREE. Otherwise it's all too tied up to a specific usecase - you aren't telling host that a page is free, you are telling it that a page was free in the past. -- MST