From: Harry Butterworth <harry@hebutterworth.freeserve.co.uk>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>,
Rusty Russell <rusty@rustcorp.com.au>,
Jeremy Katz <katzj@redhat.com>,
Xen Mailing List <xen-devel@lists.sourceforge.net>
Subject: Re: Proposal for init/kexec/hotplug format for Xen
Date: Sun, 27 Feb 2005 23:29:59 +0000 [thread overview]
Message-ID: <1109546999.14179.27.camel@localhost> (raw)
In-Reply-To: <42224C3D.1060208@us.ibm.com>
On Sun, 2005-02-27 at 16:39 -0600, Anthony Liguori wrote:
> Keir Fraser wrote:
>
> >> What I'm thinking about right now is how to assign out ports for
> >> notification. It's somewhat non-trivial to figure out the best way
> >> to manage that. Any thoughts?
> >
> >
> > The difficulty may be that, in the case of normal SysV IPC you have a
> > common OS instance to manage shmem namespaces and semaphores and so
> > on. For IDC over Xen you do not have this luxury, unless you modify
> > Xen, or you are building over higher-level communication primitives
> > (which perhaps defeats the purpose).
>
> This is what makes the OF directory structure so interesting. The
> per-domain OF structure could be used as an IDC namespace. This
> requires no additional modification to Xen (other than what the OF
> structure would).
>
Say you have an IDC API which allows services to be installed in
different domains and accessed remotely from other domains.
For resource discovery and hotplug, what you require is a service that
implements a publish and subscribe API, call it a registry for the sake
of argument.
When a driver domain boots, it can be passed the IDC API address of the
registry to use to publish the devices that it is serving.
When a guest domain boots, it can be passed the IDC API address of the
registry to use to discover the devices it is allowed to use.
When driver domains discover devices, they publish the availability of
the devices in their registry.
When guest domains boot, they connect to their registry to subscribe to
notification of device availability. If the connection process has an
asynchronous completion then the protocol might specify that
notification for all devices already registered on connection is given
to the guest domain before completion of the connection process. This
allows the guest domain to know how long to wait for devices to appear
before continuing with the boot process.
When driver domains lose access to devices or discover new ones they
keep their registry updated which in turn notifies connected guest
domains.
If one of the classes of devices that can be advertised in a registry is
allowed to be a bus device which implements a registry interface then
you can implement a hierarchical space.
Also, there's no reason that the driver domains need to be directly
connected to the registry used by the guest domains. You could for
example have the driver domain connect to a registry connected to a
domain implementing access control which would then republish the
availability of the devices in separate registries for a number of guest
domains according to the access control policy configured for those
guests.
Another option might be for a guest domain to republish the availability
of devices in a child registry for a child domain created out of the
resources of the guest domain.
Maybe you can think of how to construct something like this based around
the OF directory structure.
--
Harry Butterworth <harry@hebutterworth.freeserve.co.uk>
-------------------------------------------------------
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
next prev parent reply other threads:[~2005-02-27 23:29 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-26 20:57 Proposal for init/kexec/hotplug format for Xen Rusty Russell
2005-02-27 10:53 ` Keir Fraser
2005-02-27 11:46 ` Rusty Russell
2005-02-27 15:25 ` Anthony Liguori
2005-02-27 15:48 ` Keir Fraser
2005-02-27 15:54 ` Anthony Liguori
2005-02-27 16:09 ` Keir Fraser
2005-02-27 16:16 ` Anthony Liguori
2005-02-27 16:31 ` Harry Butterworth
2005-02-27 16:42 ` Anthony Liguori
2005-02-27 17:32 ` Keir Fraser
2005-02-27 17:59 ` Anthony Liguori
2005-02-27 18:12 ` Harry Butterworth
2005-02-27 18:24 ` Anthony Liguori
2005-02-27 18:55 ` Harry Butterworth
2005-02-27 18:57 ` Keir Fraser
2005-02-27 19:10 ` Anthony Liguori
2005-02-27 21:49 ` Keir Fraser
2005-02-27 22:39 ` Anthony Liguori
2005-02-27 23:29 ` Harry Butterworth [this message]
2005-02-28 8:59 ` Keir Fraser
2005-02-27 19:38 ` Harry Butterworth
2005-02-27 16:05 ` Harry Butterworth
2005-02-28 12:06 ` Rusty Russell
2005-02-28 15:46 ` Anthony Liguori
2005-02-28 20:28 ` Jeremy Katz
2005-02-28 22:24 ` Harry Butterworth
-- strict thread matches above, loose matches on Subject: below --
2005-02-28 13:08 Re: " harry
2005-02-28 13:32 ` Rusty Russell
2005-02-28 13:40 ` Harry Butterworth
2005-02-28 14:33 ` Keir Fraser
2005-02-28 16:46 ` Re: " Rusty Russell
2005-03-01 13:15 ` Harry Butterworth
2005-03-01 15:08 ` Keir Fraser
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1109546999.14179.27.camel@localhost \
--to=harry@hebutterworth.freeserve.co.uk \
--cc=Keir.Fraser@cl.cam.ac.uk \
--cc=aliguori@us.ibm.com \
--cc=katzj@redhat.com \
--cc=rusty@rustcorp.com.au \
--cc=xen-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.