[coyotos-dev] IPC redesign issues, goals, and options
Jonathan S. Shapiro
shap at eros-os.com
Wed Feb 14 10:24:46 CST 2007
On Wed, 2007-02-14 at 10:09 +0000, Sam Mason wrote:
> On Tue, Feb 13, 2007 at 10:19:57AM -0500, Jonathan S. Shapiro wrote:
> > I am inclined to keep the activation mechanism, but detach it entirely
> > from the message payload delivery. I am inclined to deliver a
> > soft-interrupt on message delivery.
> I'm not entirely sure what you mean my "soft-interrupt". But doesn't
> this entail two context switches on message delivery? The first to
> enter the activation handler and the second to actually receive the
Not necessarily. I think the right answer to this is "wait for spec 0.4
and let's talk about it". That should be out in a couple of days.
> As an aside, I'm also interested in the reason for registering message
> delivery in a micro-kernel. It appears to offer two advantages;
> 1) Performance, if you're working with registers it's probably going to
> be faster. You don't need to worry about setting up some shared area
> to put the message in, also things are more immediately available to
> the receiver.
> 2) Abstraction, the kernel has more flexibility with respect to how
> it operates internally. Once you dictate that things must appear in
> specific formats in user land then you're imposing tighter constraints
> on the kernel. This obviously impacts indirectly (and probably
> importantly) on performance.
Main issue is efficiency, and it's a factor of two to four depending on
processor architecture. The overwhelming majority of messages only move
2-4 words. If you can keep those in registers in the receiver you can
avoid building a cross-space mapping window in the IPC path. Building
that is expensive, so avoiding it is a huge win.
Jonathan S. Shapiro, Ph.D.
The EROS Group, LLC
+1 443 927 1719 x5100
More information about the coyotos-dev