WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] RFC: Creation of virtual bus, hook-up of Xen devices

To: Jeremy Katz <katzj@xxxxxxxxxx>
Subject: Re: [Xen-devel] RFC: Creation of virtual bus, hook-up of Xen devices
From: Andrew Warfield <andrew.warfield@xxxxxxxxx>
Date: Sat, 12 Feb 2005 09:10:52 +0000
Cc: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxxx, Steven Hand <steven.hand@xxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxx>
Delivery-date: Sat, 12 Feb 2005 09:12:22 +0000
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=nnQNHBaShHmAL0PufzDlmY//epZqcawBM61eJMKrDeq20kG7yVy6KXJy/dma4LaLVNG2ozkYiVmTsHWCJ8unsIuUR32y0H3ScjmtF1MsYCqvp3aLl/chgpqHl0HXX1DkTTz+mHESUu7XWLsER7n/in5PqJk25nZTH0Fk/y0yb9U=
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
In-reply-to: <1108068754.15115.17.camel@xxxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
References: <1107289851.30851.39.camel@xxxxxxxxxxxxxx> <3d8eece205020114494c2d95a7@xxxxxxxxxxxxxx> <1107299360.6422.10.camel@xxxxxxxxxxxxxx> <20050202010648.GO13868@xxxxxxxxxxxx> <1107310820.6422.48.camel@xxxxxxxxxxxxxx> <20050210001737.GY13868@xxxxxxxxxxxx> <1108068754.15115.17.camel@xxxxxxxxxxxxxx>
Reply-to: andrew.warfield@xxxxxxxxxxxx
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
> >I think you want to query each backend and find out what devices it has.
> >I'm not sure if the enumeration function should be generic or
> >device-specific.  Our current device-specific approach could probably be
> >changed to be generic but in a first instance it would be quickest to
> >implement this using the existing "queries" since there are only two
> >device types.
> 
> Well, there are three now with USB.  And requiring the guest kernels to
> know it all seems silly.  It's actually pretty simple to do in a generic
> fashion.

I thought that the issue of enumerating interfaces and supporting
multiple backends was one of the major reasons that we were looking at
restructuring the control tools.  I think it makes a whole lot more
sense to have the list of devices and related state for each domain in
a persistent store/registry in dom0, primarily because it gives us a
point of indirection to allow backend restarts/hotswaps and means
other control tools can be added to look at the same state without
modifying the drivers or control messages.

This is vaguely what I think domain startup should look like with new
tools.  Bear in mind that it is quarter to nine on a saturday morning.
 These probably need a bit more thought, but I think these are along
the lines of what I have talked to keir about in the past.  Setting up
net/block interfaces for a new domain looks something like:

1. During domain creation, xend pushes a list or interfaces under the
new domain's part of the registry:

   /domn/blkifs/0/[each bit of state]

2. xend kicks each associated backend interface with an
FE_CREATE(domid) control message.  Each backend driver then scans the
registry for interfaces under its control and registers them.

3. As the domain starts up, its driver probes the registry for
enumeration, and then wires up interfaces based on the details there.

This is clearly more vague than it should be.  If anthony's new C
control tools are sufficiently functional, then maybe we can make some
fast progress in this direction though.  In general I like breaking
out state management because it gets us away from per-driver protocols
to manage simple state across front and backend.  It might even be
nice to see if we could come up with a clear general mechanism for
signalling shared memory/event channel setup along these lines as
well.

a.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel