Of interest: Google has recently resumed trying to upstream its SwitchTo API into Linux. This API is 10-20x faster way to schedule threads (real threads) from userspace.
Unfortunately it still need to go through the kernel, so it is probably going to be orders of magnitude slower than pure userspace based task switching, especially after spectre.