Slab allocators
summary
Implements a fixed-size slab allocator that requests pages from the OS via mmap/VirtualAlloc and carves each page into objects (example uses 512‑byte objects resulting in seven usable slots once metadata is stored). Each page lives on one of three lists — partial/empty/full lists — and each free slot is linked by a free head threaded through objects so allocation and deallocation are constant time. Completely empty slabs can return memory to the OS; beware thrashing when moving pages between lists.
AI-written summary · about
chapters (7)
related talks
25mThe slab allocators of past, present, and future
51mReducing the Kernel's Slab Allocators: Progress Report
01h 31mSLUB Internals for Exploit Developers
19mLLFree: Scalable and Optionally-Persistent Page-Frame Allocation
44mHands Off and Putting SLAB/SLUB Feng Shui in a Blackbox
51mIntroduction to Memory Management in Linux
24mLow-overhead memory allocation tracking
41mLies Programmers Believe about Memory
