From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Live migration broken when under heavy IO Date: Tue, 16 Jun 2009 12:10:38 +0300 Message-ID: <4A37618E.6040606@redhat.com> References: <4A36B025.2080602@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "qemu-devel@nongnu.org" , kvm-devel To: Anthony Liguori Return-path: Received: from mx2.redhat.com ([66.187.237.31]:53243 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751889AbZFPJK3 (ORCPT ); Tue, 16 Jun 2009 05:10:29 -0400 In-Reply-To: <4A36B025.2080602@us.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: On 06/15/2009 11:33 PM, Anthony Liguori wrote: > The basic issue is that: > > migrate_fd_put_ready(): bdrv_flush_all(); > > Does: > > block.c: > > foreach block driver: > drv->flush(bs); > > Which in the case of raw, is just fsync(s->fd). > > Any submitted request is not queued or flushed which will lead to the > request being dropped after the live migration. > > Is anyone working on fixing this? Not to my knowledge > Does anyone have a clever idea how to fix this without just waiting > for all IO requests to complete? What's wrong with waiting for requests to complete? It should take a few tens of milliseconds. We could start throttling requests late in the live stage, but I don't really see the point. Isn't virtio migration currently broken due to the qdev changes? -- error compiling committee.c: too many arguments to function