读书人

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

发布时间: 2012-06-20 20:37:21 作者: rapoo

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
各位看官,看博主的博客这么久了,觉得他的水平应该是个什么身份呢?呵呵!沙发依然在哦!

读书人网 >UNIXLINUX

热点推荐