From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KdRgI-0006pN-5q for qemu-devel@nongnu.org; Wed, 10 Sep 2008 11:32:34 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KdRgG-0006o1-D5 for qemu-devel@nongnu.org; Wed, 10 Sep 2008 11:32:33 -0400 Received: from [199.232.76.173] (port=47555 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KdRgF-0006nv-Uc for qemu-devel@nongnu.org; Wed, 10 Sep 2008 11:32:31 -0400 Received: from wa-out-1112.google.com ([209.85.146.177]:43348) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KdRgF-0004j6-ER for qemu-devel@nongnu.org; Wed, 10 Sep 2008 11:32:31 -0400 Received: by wa-out-1112.google.com with SMTP id j5so1937823wah.18 for ; Wed, 10 Sep 2008 08:32:30 -0700 (PDT) Message-ID: <5d6222a80809100832n23e217f5m7e0c5b87cd94d9b2@mail.gmail.com> Date: Wed, 10 Sep 2008 12:32:30 -0300 From: "Glauber Costa" Subject: Re: [Qemu-devel] [PATCH 3/10] Add bdrv_flush_all() In-Reply-To: <48C7E579.5040702@us.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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> <48C7E579.5040702@us.ibm.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Chris Wright , Uri Lublin , qemu-devel@nongnu.org, kvm@vger.kernel.org On Wed, Sep 10, 2008 at 12:19 PM, Anthony Liguori wrote: > 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? Maybe we can avoid new requests to start, and save their state. For the in flight ones, we wait for them to quiesce. That can probably make it less messy, but maybe not -- Glauber Costa. "Free as in Freedom" http://glommer.net "The less confident you are, the more serious you have to act."