The Go team is working on an update of its scheduler to make it preemptive. Will Tokio follow suit?
Preemption is out of scope for Tokio as we are focusing on a runtime to power Rust async functions. So, for the foreseeable, Tokio will using "cooperative preemption" via `await` points.
How do you preempt syscalls or FFI calls? (Go will almost certainly also have this issue with cgo modules)
I would be very surprised if preemptible Futures are something Tokio can or would implement.
But this requires code pages to be writable. Which, from a security perspective is awful.