首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

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

2012-06-20 
Linux Slab分配器(六)--创建slab和销毁slab在满足以下两个条件时,slab分配器将为高速缓存创建新的slab1.请

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

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

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

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

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

 

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

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

 

辅助函数:

为slab分配页框



为slab管理区分配空间:


 

利用页描述结构的lru域建立页框到slab描述符和cache描述符的映射,实际就是使lru.next指向cache描述符,lru.prev指向slab描述符

 


 

 

初始化对象


 

 销毁slab就是释放slab管理区和对象占用的空间


 

1楼zi77642475昨天 15:46
各位看官,看博主的博客这么久了,觉得他的水平应该是个什么身份呢?呵呵!沙发依然在哦!

热点排行