From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KdRUd-0006Up-GY for qemu-devel@nongnu.org; Wed, 10 Sep 2008 11:20:31 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KdRUc-0006Tw-23 for qemu-devel@nongnu.org; Wed, 10 Sep 2008 11:20:31 -0400 Received: from [199.232.76.173] (port=58316 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KdRUb-0006Tr-N7 for qemu-devel@nongnu.org; Wed, 10 Sep 2008 11:20:29 -0400 Received: from e31.co.us.ibm.com ([32.97.110.149]:40630) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KdRUb-0002m2-7t for qemu-devel@nongnu.org; Wed, 10 Sep 2008 11:20:29 -0400 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e31.co.us.ibm.com (8.13.8/8.13.8) with ESMTP id m8AFKPPb017888 for ; Wed, 10 Sep 2008 11:20:25 -0400 Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by d03relay04.boulder.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id m8AFKBrq083278 for ; Wed, 10 Sep 2008 09:20:11 -0600 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m8AFKAvI017858 for ; Wed, 10 Sep 2008 09:20:11 -0600 Message-ID: <48C7E579.5040702@us.ibm.com> Date: Wed, 10 Sep 2008 10:19:21 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 3/10] Add bdrv_flush_all() References: <1220989802-13706-1-git-send-email-aliguori@us.ibm.com> <1220989802-13706-4-git-send-email-aliguori@us.ibm.com> <48C7CB05.8070107@redhat.com> <5d6222a80809100746kd4bcf21h5c3fd9afbec1067d@mail.gmail.com> In-Reply-To: <5d6222a80809100746kd4bcf21h5c3fd9afbec1067d@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Glauber Costa Cc: Chris Wright , Uri Lublin , qemu-devel@nongnu.org, kvm@vger.kernel.org Glauber Costa wrote: > On Wed, Sep 10, 2008 at 10:26 AM, Chris Lalancette wrote: > >> Anthony Liguori wrote: >> >>> This patch adds a bdrv_flush_all() function. It's necessary to ensure that all >>> IO operations have been flushed to disk before completely a live migration. >>> >>> N.B. we don't actually use this now. We really should flush the block drivers >>> using an live savevm callback to avoid unnecessary guest down time. >>> >> Simple enough, and follows the pattern in the KVM migration. >> >> Chris Lalancette >> >> > sounds ok. > I'm actually liking bdrv_flush_all() less and less. If there are any outstanding IO requests, it will increase the down time associated with live migration. I think we definitely need to add a live save handler that waits until there are no outstanding IO requests to converge. I'm concerned though that it's not totally unreasonable to expect a guest to always have an IO request in flight. That leads me to think that maybe we should be cancelling outstanding requests, and somehow saving their state? Regards, Anthony Liguori