New week, new Rust! What are you folks up to?
I’ve been dabbling in kernel side Rust!
Linus rejected the merge for 6.0 but seems to be generally in
favor of it, so I thought it was time to take a closer look.
Setting up a corroded kernel is fairly straightforward and
documented in a quick start guide.
To my surprise I found the module development UX already to be
very ergonomic. Building on the demo module
I went from zero to a dummy
sysctl handler in like an hour.
Then I hit a bug and had to fix the
struct Sysctl code, so
YMMV. Amazingly, the patch received a lightning fast review
on Github by @bjorn3.
My verdict as a Rust-for-Linux n00b: fun stuff, the future is
I am working on pstore, the module for RustDb that manages "virtual" read-only copies of the database.
My original implementation had a simplified approach to freeing up page copies that are no longer needed, I have now coded a more precise approach that frees pages as soon as possible. It has been tricky, and I am not sure I have got it right yet.
Code is here:
I'm working on a utility wrapper for angle manipulation