Google Continues Work On User-Managed Concurrency Groups For Linux
Earlier this year was news that Google is finally working to open-source their Fibers user-space scheduling framework. For the better part of the past decade they have been developing this user-space scheduling framework and finally now are working on offering public, open-source code intended for upstream around their work.
As part of this opening of Fibers, Google published their "User Managed Concurrency Groups" code as the kernel patches introducing some new kernel-side primitives for their user-space scheduling framework. This can also be used for security sandboxes and other use-cases.
Over the summer Google has been pushing out updated UMCG kernel patches while recently they pushed out their "v0.7" patches under a request for comments.
The v0.7 patches are published and out for review. Their short explanation of the work is "an M:N threading subsystem/toolkit that lets user space application developers implement in-process user space schedulers."
With the v0.7 patches some of the code has been shifted around, blocking cross-memory management interactions/wakeups, and various other fixes and code improvements.
Some of the items still being worked on with this UMCG code is secure handling for cross-MM wakeups, supporting tracing/debugging with this code, making context switching faster, supporting more CPU architectures, and other code improvements.
See this patch series for more information on the work being pursued by Google for User-Managed Concurrency Groups on Linux.