Linux Slab分配器(三)--创建缓存
创建新的缓存必须通过kmem_cache_create()函数来完成,原型如下
name:所创建的新缓存的名字size :缓存所分配对象的大小align:对象的对齐值flags:创建用的标识ctor:创建对象时的构造函数kmem_cache_create()的实际工作就是为新的缓存申请缓存描述符,array_cache描述符和kmem_list3描述符,并根据接收的参数对这三个结构中的变量进行相应的初始化。新创建的缓存是空的,不包含slab。
再来看看两个辅助函数calculate_slab_order()和setup_cpu_cache()
在slab初始化完成后,也就是g_cpucache_up变量的值为FULL后,setup_cpu_cache()函数等价于setup_cpu_cache()-->enable_cpucache()
- 1楼zi77642475前天 11:05
- 还好没人抢沙发,嚯嚯!沙发依然在!