SLAB分配器
1.综述
用一段话来描述slab。就是讲内存按照对象为单位进行组织,一定数目的对象聚集在一起称为一个slab。系统通过操作slab来进行内存的分配。每个CPU上的per-CPU结构中,保存了空闲的对象指针,通过这些指针,系统可以快速有效的进行对象分配。
上面的图来自PLK中, 很明显,kmem_cache控制了内存节点的slab内存分配。结构中有指向per-CPU缓存的arraycache指针,也有指向slab链表的三个指针。
2. 着色原理
所谓的着色,目的只是为了让slab中相同偏移量的对象进入CPUcache的时候,尽量不会出现处在同一cache行中
3. kmem_cache的操作