bug-hurd
[Top][All Lists]
Advanced

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

Re: L4Mach or Refactor Hurd Servers?


From: Niels Möller
Subject: Re: L4Mach or Refactor Hurd Servers?
Date: 11 Nov 2001 12:37:37 +0100

Farid Hajji <farid.hajji@ob.kamp.net> writes:

>   * IPC should be only used in stubs during an RPC.
> 
>     This is very important. Most IPC in the Hurd occurs during
>     an RPC call. Most RPC calls _can_ be done in a completely
>     synchroneous manner. By sticking to this requirement, it
>     would be pretty easy to extend whatever stub generator's
>     backend to support L4-based IPC.

One that can't easily be converted to syncronous RPC only, I think, is
select/poll.

Personally, I find it very appealing to be able to perform *arbitrary*
i/o or i/o-like operations by sending asyncronous messages, and then
being able to wait on a collection of reply ports until one of the
operations returns or times out. I guess one reason I like that way of
operation is memories of the AmigaOS.

So I think it wuld be said to throw away the support for that
entirely, but there may well be some nice way to do it on the library
level (in the client's process) by using a syncronous RPC-interface
and some extra threads.

Please keep in mind the case of calling select() or poll() on a few
thousands of file descriptors, you want to support that without
spawning an insane amount of threads.

BTW, how hard is it to implement something like Solaris "doors" on L4?
If reconsidering the RPC-semantics, that might be an alternative worth
investigating.

Regards,
/Niels



reply via email to

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