This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Re: backend block driver and domain migration blackout time

To: "Guzovsky, Eduard" <Eduard.Guzovsky@xxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Re: backend block driver and domain migration blackout time
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Tue, 26 Aug 2008 08:07:57 +0100
Cc: "Murray, Kimball" <Kimball.Murray@xxxxxxxxxxx>
Delivery-date: Tue, 26 Aug 2008 00:08:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <EEEB1FA7BB798343BD171137F3E7FA5301007B43@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AckHCehhJ5qe6FEnR7aefGED8vNm6wAQI8W5
Thread-topic: backend block driver and domain migration blackout time
User-agent: Microsoft-Entourage/
On 26/8/08 00:25, "Guzovsky, Eduard" <Eduard.Guzovsky@xxxxxxxxxxx> wrote:

> We are working on reducing blackout time during domain migrations in xen
> 3.1.0. We ran into a problem when backend block driver removes the
> backend device without waiting for the main kernel thread created by the
> driver to actually complete all outstanding io. This happens in the
> final stages of the migration process when guest domain is being
> destroyed.
> static int blkback_remove(struct xenbus_device *dev) {
> struct backend_info *be = dev->dev.driver_data;
>             ...
> if (kthread_remove(be))
> WPRINTK("BAD REMOVE REQUEST for %s\n", be->nodename);
>             ... 
> backend_release(be);
> return 0;
> }

I don't recognise the code above from any version of our Linux patchset. I'm
pretty sure that the races you mention, which might be present in the 3.1
Linux sparse tree, are fixed in our linux-2.6.18-xen.hg repository.

 -- Keir

Xen-devel mailing list