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


Re: [Xen-devel] Really really small xen0

To: "Barry Silverman" <barry@xxxxxxxxx>
Subject: Re: [Xen-devel] Really really small xen0
From: "Mark A. Williamson" <mark.williamson@xxxxxxxxxxxx>
Date: Mon, 8 Nov 2004 16:08:34 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 08 Nov 2004 16:14:05 +0000
Envelope-to: steven.hand@xxxxxxxxxxxx
In-reply-to: <001e01c4c5a9$21004ff0$6400a8c0@gandalf>
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: <001e01c4c5a9$21004ff0$6400a8c0@gandalf>
Reply-to: mark.williamson@xxxxxxxxxxxx
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.7
> Does it even need an init.exe? or a mounted file system? 

These are necessary if you're not going to try hacking in the kernel, purely 
to stop Linux getting upset.  The init doesn't have to do anything and the 
filesystem can be empty (apart from the init).  Using a suitable filesystem, 
you can make the initrd really small.

> Couldn't the 
> kernel just jump into a kernel thread xen idle loop? Would it then be
> possible to have this minimal xen0 linked in to xen?

You might be able to hack the init kernel thread to just block but it's not 
clear there's much advantage over having a userspace init that just blocks.  
You still might find Linux wants to mount *something* at boot, though.

I can check the mini init into the unstable tree as it might be useful to some 
people someday.

> I guess there needs to be some way of communicating the parameters to
> the xen kernel. 

Yeah.  For the minimal driver kernels, we had the backend driver in the domain 
automatically set up bridging, etc.  For flexibility and cleanness, we now 
set this up all from userspace.

We already have a generic control message framework for passing messages to 
other domains from domain 0.  We'd need to add some more message types in 
order to issue bridge setup commands, etc.

> Is the ether bridging done in xen? or in domain 0?

Xen itself doesn't know / care about devices, the bridging is done in domain 
0.  The "backend" network driver runs in dom0 and creates a virtual ethernet 
device to talk to each "frontend" network interface in an unprivileged 
domain.  The standard Linux bridging / routing code is then used to bridge / 
route those virtual interfaces.  So it all happens in dom0.

> Maybe  
> it can be driven by an initrd in xen0.

You could put some extra tools in the initrd in the driver domain but you'd 
still to figure out some way of telling them how to bridge / route new VIFs 
as domains are started.  I suppose you could hack Xend to issue commands to 
the console interface, although that seems a bit skanky to me ;-)

> Could you then still have another privileged domain do status
> monitoring, and user domain startup/shutdown?

In principal you could get Xen (with some hacking to add the required 
functionality to XenLinux / Xend) do something like this.  This done, you 
could be able to run a driver for each block / net device in a separate 
domain and admin stuff in yet another.

Many of the pieces required for this are in place now.  There is a bit of a 
chicken and egg problem regarding how these domains get built in the first 
place (how does the driver domain get built without the admin domain / how 
does the admin domain load without the driver domain) but it's surmountable 
(e.g. use some large initrds!).

This is quite interesting stuff, it's just not been as high priority as some 
of the other features in the release.


This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>