前言
这里说的是 内核中分配小对象的一种内存分配方式 kmalloc
呵呵 经典程度不必多说了, 内核使用的大多数 不经常使用的小对象基本上是基于 kmalloc
这里 我们来看一下 kmalloc, kmalloc 基于 slab, 因此 这里不会赘述太多
如何分配对象
kmalloc 是系统中分配小空间的一种机制, 基于 slab
基于size 获取该类型的 slab, 然后基于该 slab 分配空间
根据 size 获取给定的 size 对应的 slab
size_index 映射的顺序, 增量为 8, 24个等级, 表示了 192 个等级的映射
size 转换为 size_index 的关系为 size_index = (size - 1) / 8
Kmalloc_caches 定义的顺序
完