Messages in this thread | | | From | Jason Lango <> | Subject | Re: Solaris Doors API for Linux | Date | 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
| |