bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emulating no-senders notifications in L4?


From: Jean Wolter
Subject: Re: emulating no-senders notifications in L4?
Date: 20 Dec 2001 21:01:07 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Civil Service)

nisse@lysator.liu.se (Niels Möller) writes:

> Jean Wolter <jean.wolter@inf.tu-dresden.de> writes:
> 
> > And a task can not die violently since if it raises an exception this
> > exception is delivered to an exception handler thread which can handle
> > this situation.
> 
> Is this thread running inside the task in question or in some other
> task? 

That depends on the final specification. We are currently discussing
two different exception handling schemes and the current winner is the
above solution. The thread which receive the exception via ipc can run
anywhere (inside the same address space or in another task).

> When thinking some more, I realize that you can perhaps distribute the
> "central" registry, giving the owner of each receive right the
> reponsibility to keep track of all corresponding the send rights. Is
> that what you're thinking of? 

Thats right, that was what Michael and Sven implemented when they did
a Mach emulation for L3 (the precursor of L4). Michael mentioned it
some weeks ago and there is a paper on our web sites about it
(http://os.inf.tu-dresden.de/~hohmuth/dir/pub).

> Nice idea. A few potential drawbacks is
> that
> 
> 1. Transfer of port-rights gets more complicated. In particular the
>    transfer of receive rights becomes more difficult. Does the hurd
>    ever need transfer of receive rights?

Sure you would have to contact the owner of the port to transfer a
send right. How often does this happen? I assume it happens in a fork()
scenario. And the main question is: Does Hurd actually use the
possibility to transfer receive rights?

> 2. You get a lot more parties that are interested in task death
>    events. The task server to keep track of all subscriptions. 

How many servers are there? How often are tasks created and destroyed
compared to the number of ipc which would have to go through the port
server?

> So far, I've been thinking of delegation (i.e. transfer of send
> rights) as something that is under complete control of whoever wants
> to give a way a right, and that the receiver should not care (or
> even know) that delegation has taken place. That information hiding
> is possible with the central port-rights server, but not in the
> distributed model.

Is that information hiding a requirement or just nice to have? If it
is required you need the port server, if not...

Jean
-- 
I get up each morning, gather my wits.
Pick up the paper, read the obits.
if I'm not there I know I'm not dead.
So I eat a good breakfast and go back to bed. Peete Seeger



reply via email to

[Prev in Thread] Current Thread [Next in Thread]