Kernel threads for IO do not work great (I'd be happy to provide more info), which is why async IO is needed. Not using an M:N model to keep compatibility with C is certainly reasonable, but goroutines and an M:N model do have many advantages over kernel threads for doing IO.https://twitter.com/pcwalton/status/1140983747379990528 …
I really don't see the difference between that and Go. Go's standard library and runtime have to do a ton of careful coordination between it and the kernel too.
-
-
Not really. Go uses established, general kernel apis. It doesn't work with the kernel to try and guarantee that a single kernel thread is executing on each core at any point. Futexes are not an API for user/kernel thread coordination. They are an API for inter-user thd coord.
-
Just because the coordination problem they solve is hard and fickle (it is), it doesn't mean it is as hard as Scheduler Activations.
- 10 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.