I don't think we need to support moving receive rights in the same fashion
as Mach does.  The uses we have in the Hurd are esoteric cases that can be
addressed in different ways.  I think it would also be acceptable to
support the notion at a higher level than Mach does, so as to better fit
the L4 IPC model without huge performance impact.  Having every single RPC
(even ones carrying no ports) go through a central "port server" seems like
overkill to me, and I hope it can be accomplished a different way.  Perhaps
send rights can be handled in such a way that only when transferring them
is a full lookup required, and cached references are direct L4 thread IDs.
Then a "moved receive right" might cause using existing cached L4 thread
IDs to get some kind of error from the old thread that forwards them to the
new owner of the receive right and updates their caches.  This is just the
shape of the idea and an example of the kind of higher-level implementation
involvement (i.e. stuff in the RPC stubs or a port-reference library layer)
is acceptable for the Hurd.  Our essential concerns are about who makes
what guarantees to whom at the task/kernel level.

Unfortunately I have not had time to read all this discussion, or the past
l4-hurd discussions, or read up on L4 IPC so as to speak more informedly.
I hope I'll have time to get into this stuff in earnest at some point,
but I don't know when that will be.

_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to