Yes, that's not well developed. However, it is the reason TS mutexes are
shareable. If there is a resource shared between continuations the TS
approach is to have those continuations share the same mutex leading to
natural rescheduling for lock contention. In addition, that TS mutexes are
recusive makes it so that if you can arrange for all of the continuations
sharing a resource to be on the same ET_NET thread then locking is
effectively cost free, yet remains robust in the cases where there is
actual lock contention.

Because of the proxy (pass-through) nature of I/O in TS, it's quite
difficult to keep shared resources on the same thread if outbound sessions
are shared across threads. It is also problematic in the case of scheduling
to and from different thread pools (although Fei's work should address to a
large extent).

Reply via email to