RTS's (old?) invariant regarding OS blocking
dan at kernelim.com
Wed Mar 2 14:38:56 UTC 2016
While trying to gain insights into the RTS, I've noticed the following in
the Wiki page  on the topic of the scheduler:
Invariant: a task that holds a capability is not blocked in the operating system.
This makes some parts of the system simpler - for example, we can use spin locks that spin indefinitely, because we can ensure that the spin lock is only held by a currently executing CPU, and will therefore be released in a finite (and short) amount of time.
Does it still apply to modern day GHC, or was it addressed by ?
More information about the ghc-devs