摘要: kmalloc的实现 kmalloc的基础是一个数组,其中是一些分别用于不同内存长度的slab缓存。数组项是cache_sizes的实例,该数据结构定义如下: <slab_def.h> struct cache_sizes { size_t cs_size; kmem_cache_t *cs_cac 阅读全文
posted @ 2022-03-23 00:43 while(true);; 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 如果一个分配的对象已经不再需要,那么必须使用kmem_cache_free返回给slab分配器。图3-52给出了该函数的代码流程图。 类似于分配,根据per-CPU缓存的状态不同,有两种可选的操作流程。如果per-CPU缓存中的对象数目低于允许的限制,则在其中存储一个指向缓存中对象的指针。 mm/s 阅读全文
posted @ 2022-03-23 00:20 while(true);; 阅读(97) 评论(0) 推荐(0) 编辑