Re: Solaris Doors API for Linux

Jason Lango (jal@cs.brown.edu)
Thu, 4 Jun 1998 18:21:17 -0400 (EDT)


Jose Orlando Pereira wrote:
> However, after implementing virtual copy, we found out that most of
> the round-trip overhead for small messages was attributable to
> the scheduler, so we arranged that when sending a request, the
> remaining timeslice of the client was explicitly provided to the
> server, avoiding the cost of selecting the process to schedule.
> (This was done in a function called sleep_on_and_wakeup, with two
> wait_queues as parameters.) This wass possible because the client
> would forcibly block waiting for the answer after sending the
> request, which I believe also happens with doors.
>
> Have you considered something like this? I don't have the figures
> here, but I remember that it was a big win. It also was a long time
> ago (Linux 1.1), so I don't know if the same would happen now...

Yes, at the point of a door_call and door_return, both the client and
server task are paired off, so I could do that. My advisor suggested
that I look into doing hand-off scheduling, but I never quite got
around to it. Worries about graduation (mine :-) and scheduling
fairness made me keep it on my to-do list.

Is your sleep_on_and_wakeup code available to the general public?
(And more importantly, under a license which is lenient enough to
allow me to add it to Doors/Linux? >:-)

- J

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu