"Geoff Humphreys" <xsaber0(a)hotmail.com> writes:
>
> Hello. I have been writing my own microkernel using ideas from L4 and other
> kernels.
>
> I am curious as to whether or not there would be an appreciable performance
> increase if the L4 system calls were split up into multiple calls. For
> example, the IPC call is be used to send messages, recieve messages, and to
> do RPC. Wouldn't it be faster if each of those were separate system calls
> (since it would require less if-then logic and bit manipulation)? Is there
> any reason not to do this?
Maybe you should have a look at Jochen's micro kernel papers on our L4
page (SOSP93, SOSP95). One point was to combine the various ipc
operations into one system call to reduce the number of 'kernel
boundary crossings'. You add one simple if and remove an expensive
switch from user to kernel and back. So this actually increases
performance.
> Also, does L4 have any support for semaphores? I was unable to find
> anything in the documentation.
There are no semaphores inside L4. All semaphores are implemented on
user level.
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