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] [PATCH 1/9] Xen Share: Simplified I/O Mechanism

To: Harry Butterworth <harry@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 1/9] Xen Share: Simplified I/O Mechanism
From: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Wed, 07 Jun 2006 12:35:06 +1000
Cc: Xen Mailing List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 06 Jun 2006 19:36:05 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1149605249.7721.74.camel@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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1149572143.5183.25.camel@xxxxxxxxxxxxxxxxxxxxx> <1149605249.7721.74.camel@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Tue, 2006-06-06 at 15:47 +0100, Harry Butterworth wrote:
> On Tue, 2006-06-06 at 15:35 +1000, Rusty Russell wrote:
> > This introduces a page "share" mechanism to xen: an alternative to
> > both cross-domain binding of event channels, and grant tables.
> Why do you think an alternative to event channels and grant tables is
> needed?

Fundamentally, I think having a simplified mechanism for inter-domain
communication keeps us honest: we can benchmark against it and look at
the code size, if nothing else.

> Personally, I think there is a need for a more convenient _high-level_
> API that more directly meets the split-drivers' requirements for
> inter-domain messaging and bulk data transfer but this seems to me to be
> another low-level API and doesn't seem significantly more convenient to
> use than grant-tables and event-channels.

The isolation it provides forms a better basis for a higher-level
mechanism, IMHO.  Neither side really knows, or cares, where the events
and data are really going to.  There is no mapping of other domain's
memory, with all the trust and coordination issues that we had to deal
with (and didn't completely!) with the current mechanisms.

For example, if you wanted to use this as a remote mechanism for
communication with another machine, you could.  If you wanted to
substitute backends without the front end knowing, you could.  If the
frontend or backend dies, there is no restriction on cleaning up its

> Is the n>2-way sharing feature the only benefit over grant-tables or do
> you think there are other benefits to your approach?

Other than the above theoretical advantages, I found it far easier to
implement a Linux driver on top of this, than it was to implement it on
top of grant tables, event channel binding and xenbus.  Easier to
implement means easier to optimize, easier to port, and easier to debug.

Hope that clarifies!
 ccontrol: http://ccontrol.ozlabs.org

Xen-devel mailing list