From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58292) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WFxIS-0008P2-KV for qemu-devel@nongnu.org; Tue, 18 Feb 2014 21:54:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WFxIM-0006g1-Ks for qemu-devel@nongnu.org; Tue, 18 Feb 2014 21:54:04 -0500 Received: from [222.73.24.84] (port=21263 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WFxIM-0006fn-5l for qemu-devel@nongnu.org; Tue, 18 Feb 2014 21:53:58 -0500 Message-ID: <53041C8E.2060902@cn.fujitsu.com> Date: Wed, 19 Feb 2014 10:53:02 +0800 From: Li Guang MIME-Version: 1.0 References: <1392713429-18201-1-git-send-email-mrhines@linux.vnet.ibm.com> <1392713429-18201-9-git-send-email-mrhines@linux.vnet.ibm.com> <530403E9.7060501@cn.fujitsu.com> <530413EE.30307@linux.vnet.ibm.com> In-Reply-To: <530413EE.30307@linux.vnet.ibm.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-8859-1; format=flowed Subject: Re: [Qemu-devel] [RFC PATCH v2 08/12] mc: core logic List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael R. Hines" Cc: GILR@il.ibm.com, SADEKJ@il.ibm.com, pbonzini@redhat.com, quintela@redhat.com, abali@us.ibm.com, qemu-devel@nongnu.org, EREZH@il.ibm.com, owasserm@redhat.com, onom@us.ibm.com, hinesmr@cn.ibm.com, "Michael R. Hines" , gokul@us.ibm.com, dbulkow@gmail.com, junqing.wang@cs2c.com.cn, BIRAN@il.ibm.com, isaku.yamahata@gmail.com Michael R. Hines wrote: > On 02/19/2014 09:07 AM, Li Guang wrote: >> Hi, >> mrhines@linux.vnet.ibm.com wrote: >>> From: "Michael R. Hines" >>> >>> This implements the core logic, >>> all described in the first patch (docs/mc.txt). >>> >>> Signed-off-by: Michael R. Hines >>> --- >>> migration-checkpoint.c | 1565 >>> ++++++++++++++++++++++++++++++++++++++++++++++++ >>> 1 file changed, 1565 insertions(+) >>> create mode 100644 migration-checkpoint.c >>> >>> >> [big snip] ... >> >>> + >>> +/* >>> + * Stop the VM, generate the micro checkpoint, >>> + * but save the dirty memory into staging memory until >>> + * we can re-activate the VM as soon as possible. >>> + */ >>> +static int capture_checkpoint(MCParams *mc, MigrationState *s) >>> +{ >>> + MCCopyset *copyset; >>> + int idx, ret = 0; >>> + uint64_t start, stop, copies = 0; >>> + int64_t start_time; >>> + >>> + mc->total_copies = 0; >>> + qemu_mutex_lock_iothread(); >>> + vm_stop_force_state(RUN_STATE_CHECKPOINT_VM); >>> + start = qemu_clock_get_ms(QEMU_CLOCK_REALTIME); >>> + >>> + /* >>> + * If buffering is enabled, insert a Qdisc plug here >>> + * to hold packets for the *next* MC, (not this one, >>> + * the packets for this one have already been plugged >>> + * and will be released after the MC has been transmitted. >>> + */ >>> + mc_start_buffer(); >> >> actually, I have a special request, >> if QEMU started without netdev, >> then don't bother me by Qdisc for network buffering. :-) >> >> Thanks! >> > > That ability is already available in the patchset. > It is called "mc-net-disable" capability. (See the wiki or docs/mc.txt). > > Did you try it? > I don't mean disable it manually, I say even don't start buffering for network when no netdev. Thanks!