On Tue, 2008-03-11 at 12:10 +0100, Neal H. Walfield wrote:
> What you are suggesting is essentially using a user-level thread
> package.  (Compacting a thread's state in the form of a closure is a
> nice optimization, but the model essentially remains the same.)  The
> main advantage to user-level thread package is that the thread memory
> is pagable and is thus less likely to exhaust the sparser kernel
> resources.  In the end, however, it suffers from the same problems as
> the current approach.

Cthreads does this.  Part of the reason we turned off the multiplexing
of user threads on kernel threads was because a paging wait would hold
the whole kernel thread rather than multiplex with another user thread.

Still, the issue is the thread stacks; even if you are using multiplexed
user threads, each user thread still needs a user stack.

Thomas




Reply via email to