读书人

Linux Slab分配器(5)-释放对象

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

Linux Slab分配器(五)--释放对象

缓存回收对象基于以下原则

1.本地高速缓存的空间还可以容纳空闲对象,则直接将对象放回本地高速缓存

2.本地高速缓存的空间已满,则按batchcount的值将对象从本地高速缓存转移到slab中,转移是基于先进先出的原则的,也就是转移entry数组最前面的batchcount个空闲对象,因为这些对象在数组中存在的时间相对较长,不太可能仍然驻留在CPU高速缓存中

释放对象通过函数kmem_cache_free()来完成,下图给出了主要的工作流程

Linux Slab分配器(5)-释放对象

我们以__cache_free函数作为入口进行分析





1楼zi77642475前天 21:18
神马情况?妙发都可以抢不到沙发?

读书人网 >UNIXLINUX

热点推荐