

Intrusive lists for fun and profit
Aug 13, 2025
The hosts dive into the quirky world of intrusive lists, balancing humor with practical uses. They explore the technical intricacies of linked lists in Rust, comparing them to better alternatives and discussing safety concerns. Memory management challenges in embedded systems take center stage, highlighting innovative solutions for synchronization and efficiency. The mechanics of mutexes are unraveled, revealing strategies to avoid deadlocks. Topping it off, the evolution of asynchronous programming is examined along with insights into helpful libraries.
AI Snips
Chapters
Transcript
Episode notes
Intrusive Lists Co-Locate Links And Data
- Intrusive lists store the linkage inside each element, removing a separate node allocation and improving locality.
- This reduces allocations and pointer-chasing at the cost of preventing an element from being in multiple lists.
Embedded Constraints Flip Locality Tradeoffs
- Microcontrollers often use SRAM with no cache, so pointer-chasing cost is similar to linear access.
- That flips the usual desktop trade-offs and makes linked structures attractive in embedded systems.
Prefer Upper-Bound Collections On Embedded
- Use fixed-capacity collections in embedded systems instead of dynamic Vec growth to avoid alloc and fragmentation.
- Prefer stack or static allocations so the linker can enforce memory limits at compile time.