void *mempool_alloc_slab(gfp_t gfp_mask, void *pool_data)用于从slab 申请一段缓存
其就是kmem_cache_alloc的一个简单封装
其源码分析如下:
void *mempool_alloc_slab(gfp_t gfp_mask, void *pool_data)
{
struct kmem_cache *mem = pool_data;
VM_BUG_ON(mem->ctor);
return kmem_cache_alloc(mem, gfp_mask);
}
可以看出这个函数仅仅是kmem_cache_alloc的一个简单封装,与之对应的释放缓存的函数是mempool_free_slab
void mempool_free_slab(void *element, void *pool_data)
{
struct kmem_cache *mem = pool_data;
kmem_cache_free(mem, element);
}
其也是kmem_cache_free的一个简单封装
内存管理API之mempool_alloc_slab和mempool_free_slab
最新推荐文章于 2023-03-30 18:05:48 发布