kmem_cache
0. 简介
#include <linux/slab.h>
cachep = kmem_cache_create(name, size, align, flags, ctor_func);
objp = kmem_cache_alloc(cachep, GFP_KERNEL);
...
kmem_cache_free(cachep, objp);
kmem_cache_destroy(cachep);1. 分析源码
/* include/linux/slab.h */
#ifdef CONFIG_SLUB
#include <linux/slub_def.h>
#elif defined(CONFIG_SLOB)
#include <linux/slob_def.h>
#else
#include <linux/slab_def.h>
#endif1.1 创建kmem_cache
1.2 删除kmem_cache
1.3 从kmem_cache中分配object
1.4 从kmem_cache中释放object
Last updated