Rust async echo server kernel module
github.com
github.com
[0]: https://github.com/Rust-for-Linux/linux/commit/4536277a0e619...
Doimg this in the kernel complicates things; it can't just import tokio like most Rust programs.
This pull request has three commits. The first modifies some C code slightly, and adds a helper so that it can be used from Rust code. (Most of this is actually a C macro, rather than a function that can be called).
The second commit implements a simple executor for async code, which stores tasks to be completed in the future in a workqueue. The workqueue already existed in the kernel.
The fin commit is the echo server, written in async Rust and executed using the executor from the previous commit.
You can see that four merge requests were taken at the same time. #802 is unrelated, while #752, #798, and #796 are related to the echo server. It appears that the author created a merge request for each of the three commits. The three commits are on the lines below.