3 ms·
Thanks for providing the link and it does seam like an interesting proposal. To summarize: Switching into ring0 (kernel is not that expensive) We're going to
by mtanski 13y ago
Thanks for providing the link and it does seam like an interesting proposal.
To summarize:
Switching into ring0 (kernel is not that expensive)
We're going to stay with the 1:1 thread model
We're going to provide an new syscall to hint to the scheduler which thread to switch to.
Provided we have time slice still left the scheduler can do that almost instantly since picking the task to run next is expensive (their data).
This isn't scheduler activations but a yieldTo().
This method avoids all sorts of problems with 3rd party libraries namely avoiding TLS problems.
This doesn't do anything about block IO.
- pron 13y ago> This doesn't do anything about block IO. I'm not too familiar with the details but I think they mention that a thread can specify a callback that will be called if it blocks on IO, and the callback can specify another thread to switch to.