Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752078AbcCHNLg (ORCPT ); Tue, 8 Mar 2016 08:11:36 -0500 Received: from mga04.intel.com ([192.55.52.120]:14024 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750843AbcCHNLe convert rfc822-to-8bit (ORCPT ); Tue, 8 Mar 2016 08:11:34 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,556,1449561600"; d="scan'208";a="665802314" From: "Li, Liang Z" To: Amit Shah CC: "quintela@redhat.com" , "qemu-devel@nongnu.org" , "linux-kernel@vger.kernel.org" , "mst@redhat.com" , "akpm@linux-foundation.org" , "pbonzini@redhat.com" , "rth@twiddle.net" , "ehabkost@redhat.com" , "linux-mm@kvack.org" , "virtualization@lists.linux-foundation.org" , "kvm@vger.kernel.org" , "dgilbert@redhat.com" Subject: RE: [RFC qemu 0/4] A PV solution for live migration optimization Thread-Topic: [RFC qemu 0/4] A PV solution for live migration optimization Thread-Index: AQHRdTqPjTxTnYWKZEWM4lf/HjT6rZ9O5pSAgACj+3A= Date: Tue, 8 Mar 2016 13:11:30 +0000 Message-ID: References: <1457001868-15949-1-git-send-email-liang.z.li@intel.com> <20160308111343.GM15443@grmbl.mre> In-Reply-To: <20160308111343.GM15443@grmbl.mre> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiODZmZjk4MmUtZjFmYy00NmZlLWJmNjUtMjgwNzljYWZlZDdhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6InFQK1YwdGpoYVZOS2V6aWdoM3dmYzI3blBSTHZjemtVNXpjSHo3K2dwS2M9In0= x-ctpclassification: CTP_IC x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2313 Lines: 52 > Subject: Re: [RFC qemu 0/4] A PV solution for live migration optimization > > On (Thu) 03 Mar 2016 [18:44:24], Liang Li wrote: > > The current QEMU live migration implementation mark the all the > > guest's RAM pages as dirtied in the ram bulk stage, all these pages > > will be processed and that takes quit a lot of CPU cycles. > > > > From guest's point of view, it doesn't care about the content in free > > pages. We can make use of this fact and skip processing the free pages > > in the ram bulk stage, it can save a lot CPU cycles and reduce the > > network traffic significantly while speed up the live migration > > process obviously. > > > > This patch set is the QEMU side implementation. > > > > The virtio-balloon is extended so that QEMU can get the free pages > > information from the guest through virtio. > > > > After getting the free pages information (a bitmap), QEMU can use it > > to filter out the guest's free pages in the ram bulk stage. This make > > the live migration process much more efficient. > > > > This RFC version doesn't take the post-copy and RDMA into > > consideration, maybe both of them can benefit from this PV solution by > > with some extra modifications. > > I like the idea, just have to prove (review) and test it a lot to ensure we don't > end up skipping pages that matter. > > However, there are a couple of points: > > In my opinion, the information that's exchanged between the guest and the > host should be exchanged over a virtio-serial channel rather than virtio- > balloon. First, there's nothing related to the balloon here. > It just happens to be memory info. Second, I would never enable balloon in > a guest that I want to be performance-sensitive. So even if you add this as > part of balloon, you'll find no one is using this solution. > > Secondly, I suggest virtio-serial, because it's meant exactly to exchange free- > flowing information between a host and a guest, and you don't need to > extend any part of the protocol for it (hence no changes necessary to the > spec). You can see how spice, vnc, etc., use virtio-serial to exchange data. > > > Amit I don't like to use the virtio-balloon too, and it's confusing. It's grate if the virtio-serial can be used, I will take a look at it. Thanks for your suggestion! Liang