From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:54750) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgOdi-0007oe-6Y for qemu-devel@nongnu.org; Thu, 29 Dec 2011 17:39:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RgOdg-0006Zn-QK for qemu-devel@nongnu.org; Thu, 29 Dec 2011 17:39:58 -0500 Received: from mail-yw0-f45.google.com ([209.85.213.45]:51060) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgOdg-0006Zj-Ma for qemu-devel@nongnu.org; Thu, 29 Dec 2011 17:39:56 -0500 Received: by yhgg71 with SMTP id g71so9796553yhg.4 for ; Thu, 29 Dec 2011 14:39:56 -0800 (PST) Message-ID: <4EFCEC38.3080308@codemonkey.ws> Date: Thu, 29 Dec 2011 16:39:52 -0600 From: Anthony Liguori MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 00/21][RFC] postcopy live migration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Isaku Yamahata Cc: kvm@vger.kernel.org, Juan Quintela , t.hirofuchi@aist.go.jp, satoshi.itoh@aist.go.jp, Michael Roth , qemu-devel@nongnu.org On 12/28/2011 07:25 PM, Isaku Yamahata wrote: > Intro > ===== > This patch series implements postcopy live migration.[1] > As discussed at KVM forum 2011, dedicated character device is used for > distributed shared memory between migration source and destination. > Now we can discuss/benchmark/compare with precopy. I believe there are > much rooms for improvement. > > [1] http://wiki.qemu.org/Features/PostCopyLiveMigration > > > Usage > ===== > You need load umem character device on the host before starting migration. > Postcopy can be used for tcg and kvm accelarator. The implementation depend > on only linux umem character device. But the driver dependent code is split > into a file. > I tested only host page size == guest page size case, but the implementation > allows host page size != guest page size case. > > The following options are added with this patch series. > - incoming part > command line options > -postcopy [-postcopy-flags] > where flags is for changing behavior for benchmark/debugging > Currently the following flags are available > 0: default > 1: enable touching page request > > example: > qemu -postcopy -incoming tcp:0:4444 -monitor stdio -machine accel=kvm > > - outging part > options for migrate command > migrate [-p [-n]] URI > -p: indicate postcopy migration > -n: disable background transferring pages: This is for benchmark/debugging > > example: > migrate -p -n tcp::4444 > > > TODO > ==== > - benchmark/evaluation. Especially how async page fault affects the result. I'll review this series next week (Mike/Juan, please also review when you can). But we really need to think hard about whether this is the right thing to take into the tree. I worry a lot about the fact that we don't test pre-copy migration nearly enough and adding a second form just introduces more things to test. It's also not clear to me why post-copy is better. If you were going to sit down and explain to someone building a management tool when they should use pre-copy and when they should use post-copy, what would you tell them? Regards, Anthony Liguori