kmalloc_reserve 解析 kmem cache create 创建新的slab缓存必须调用kmem_cache_create。该函数需要很多参数。 mm/slab.c struct kmem_cache *kmem_cache_create (const char *name, size_t size, size_t align,unsigned long flags,void (*ctor)(struct kmem_cache *, void *)) 1. 2. 除了可读的name随后...
由于最近在看slab的一些知识点,刚巧对这个kmem_cache_create函数有点印象,所以打算深究一下。我们知道,kernel里分配一些小内存用到的是slab分配器,而slub初始化有两个重要的工作:第一,创建用于申请struct kmem_cache和struct kmem_cache_node的kmem_ cache;第二,创建用于常规kmalloc的kmem_cache。而创建kmem_cache用...
2073 /* freelist 放置外部,调用 kmalloc_slab 申请内存 */ 2074 if (OFF_SLAB(cachep)) { 2075 cachep->freelist_cache = 2076 kmalloc_slab(cachep->freelist_size, 0u); 2077 } 2078 2079 err = setup_cpu_cache(cachep, gfp); 2080 if (err) { ... 2083 } 2084 2085 return 0; 2086 }...
b为从上往下数的段落号,如有lastb字样则为从下往上数第b段。