Hello!
Genode Thread class already have infrastructure for implementing the green tasks: alloc_secondary_stack() which used i.e. in dde_linux to emulate the Linux kernel behavior. These secondary stacks have fixed maximal size and live one below another, so they can overlap each other. It is possible to create different Dataspace lists for each green stack and then switch them. Right now Genode hasn't the method for switching several DSs at once, so each DS in that list should be switched individually which would be too expensive.
The question is: even having that method, can we still consider our tasks "green"? Or such complexity is no better than the ordinal thread complexity?
Thanks!