日期:2014-05-16  浏览次数:20839 次

Linux Slab分配器(六)--创建slab和销毁slab

在满足以下两个条件时,slab分配器将为高速缓存创建新的slab

1.请求分配对象,但本地高速缓存没有空闲对象可以分配,需要填充

2.kmem_list3维护的链表中没有slab或者所有的slab都处于FULL链表中

这时,调用cache_grow()创建slab增大缓存容量

 

下图给出了cache_grow()的代码流程

 

辅助函数:

为slab分配页框