[okl4-developer] new Wombat syscall and others
Ben Leslie
benno at ok-labs.com
Wed Jun 20 12:38:25 EST 2007
On Tue Jun 19, 2007 at 22:22:13 -0400, Jorge Torres wrote:
>Hi Ben,
>
>I can see your point, and it is true, it turned out to a little more than
>one might think at first.
>But I thought it to be a good idea since I could provide a much more general
>solution for Wombat's user threads to use the L4-API, due to I could
>simply "clone" L4 syscalls onto wombat syscalls, and at the same time make
>wombat kernel aware of such things, ie:
>
>syscall womabt-l4Call(from, to,msg)=>
> wombatScheduler->send_to_block_queue(from)
> create_new_thread.....
> ===on newthread==>
> loadmessage
> tag=l4_call(to)
> wombatSched->trytowakeup(from)
> return tag
Hi Jorge,
Unfortunately it is not so simple :). The only real system call that a
user application can call on OKL4 is IPC, so what you are proposing is
an IPC bridge or router. The problem is that doing so is quite complicated.
Consider an IPC interface that requires references to a shared memory
buffer, you will need to provide a way to change the mapping from the
user's point-of-view to the single-address-space point of view.
Also if the user tries to do a call, then OK Linux will have to proxy
the call, but then that ends up breaking the scheduling policy we are
trying to maintain. Or if it tries to break into an non-atomic call, then
it breaks the protocol it has with the other L4 thread.
On top of this performance is not going to be ideal, and the application
need to be specially written with OKL4 in mind. In such a case I would
encourage writing of a native OKL4 application.
Best regards,
Ben
More information about the Developer
mailing list