I'm confused as to the structuring of the SLAB memory management mechanism.
I get that there are multiple 'caches' that are specific to commonly used data objects, but why does each cache contain multiple 'slabs'?
What differentiates each slab within a cache? Why not simply have the cache filled with the data objects themselves? Why does there need to be this extra layer?
I may be too late to answer this, but this may help others as well. As I see from Understanding Linux Virtual Memory Manager, having slabs has three major benefits.
See section 3.2 from The Slab Allocator: An Object Caching Kernel memory Allocator (1994).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With