&gt; In that sense, both of them do have problems.<p>POSIX thread scheduling implemented as M:N has problems. General M:N or 1:N schedulers don&#x27;t necessarily have to have problems, as it is demonstrated in practice by virtualization. Virtualized kernels implement their own scheduler on top of the hypervisor (which also has a scheduler), and it all works great. Performance overhead of virtualization is usually in other places, not in scheduler interactions. But even when it is, people <i>do use</i> VMs, so it works well enough, certainly not &quot;pathologically bad&quot;