Hacker News new | ask | show | jobs
by lukeh 1239 days ago
Right, I thought that was the whole idea, like a shuttle?
1 comments

It is.
Original Solaris doors use server thread pools: https://github.com/illumos/illumos-gate/blob/master/usr/src/...
Yes, but because when a server thread is available the context switch is immediate and with priority transfer, the effect is similar.
I agree that the direct hand-off that Solaris shuttles provide is more efficient than general wakeup, but it is less efficient than switching MM context of the client thread. The latter results in twice fewer threads, twice fewer scheduler lock acquisitions, etc. Note that for the kernel-level door servers, Solaris does not use server threads, it directly calls the server entry point function.