From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Qemu-devel] [PATCH 3/10] Add bdrv_flush_all() Date: Wed, 10 Sep 2008 10:19:21 -0500 Message-ID: <48C7E579.5040702@us.ibm.com> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: qemu-devel@nongnu.org, Chris Wright , Uri Lublin , kvm@vger.kernel.org To: Glauber Costa Return-path: Received: from e35.co.us.ibm.com ([32.97.110.153]:56132 "EHLO e35.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751847AbYIJPUW (ORCPT ); Wed, 10 Sep 2008 11:20:22 -0400 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e35.co.us.ibm.com (8.13.8/8.13.8) with ESMTP id m8AFKLZK020162 for ; Wed, 10 Sep 2008 11:20:21 -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 m8AFKB6I196062 for ; Wed, 10 Sep 2008 09:20:12 -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 m8AFKAvO017858 for ; Wed, 10 Sep 2008 09:20:11 -0600 In-Reply-To: <5d6222a80809100746kd4bcf21h5c3fd9afbec1067d@mail.gmail.com> Sender: kvm-owner@vger.kernel.org List-ID: 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