Moving kernel swapping infrastructure to Rust
summary
Rust implementation shows equal or slightly better performance than the C version on kernel builds, and a complete Rust allocator prototype called ZBlock replaces many ZSMalloc size classes and removes spillover, improving 4K and 16K+ pages performance in tests. A Rust reimplementation of ZRAM in Rust exists as a toy prototype with patches under submission and depends on a few back-end changes; streaming compression for large GPU buffer objects reduces thousands of page handles to a single handle, and driver surface code aims to avoid unsafe.
AI-written summary · about
chapters (8)
- 0:00Introduction and background
- 3:36Why move swapping to Rust
- 6:11ZRAM and ZS Malik overview
- 12:17ZBlock performance and advantages
- 15:49Summary and current status
- 16:10Reimplementing ZRAM in Rust
- 19:28SHM swapping and streaming compression
- 25:12Q&A and discussion
related talks
50mRusty Swapping: Rewriting a zswap Backend in Rust
39mRusty Swapping: Rewriting a Zswap Backend in Rust
50mRusty Swapping: Rewriting a zswap Backend in Rust
39mRusty Swapping: Rewriting a Zswap Backend in Rust
51mRust in the Linux kernel
24mRust for Linux: Status Update
27mUsing Rust in the binder driver
57mCrafting a Linux kernel scheduler in Rust
