Linux Slob分配器(一)(2)

free和list的意义已经很清楚明了了,现在来解释下slobidx_t units这个玩意。unit是slob的粒度,也就是说当你分配内存时,必须分配出去N个unit,所有的管理都是基于unit的。unit的大小根据PAGE_SIZE的不同而不同,通常情况下为2个字节,关于unit大小的定义:

#if PAGE_SIZE <= (32767 * 2)    typedef s16 slobidx_t;   #else    typedef s32 slobidx_t;   #endif  

既然slob的管理是基于unit的,那么units字段的含义也就很容易理解了,它表示的是slob中当前还剩余的空闲单元数目。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pswys.html