函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slub.c Create Date:2022-07-27 17:22:07
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:new_slab_objects

函数原型:static inline void *new_slab_objects(struct kmem_cache *s, gfp_t flags, int node, struct kmem_cache_cpu **pc)

返回类型:void

参数:

类型参数名称
struct kmem_cache *s
gfp_tflags
intnode
struct kmem_cache_cpu **pc
2448  c等于pc
2451  WARN_ON_ONCE(ctor && (flags & __GFP_ZERO))
2453  freelist等于Get a partial page, lock it and return it.
2455  如果freelist则返回:freelist
2458  page等于new_slab(s, flags, node)
2459  如果page
2460  c等于raw_cpu_ptr(cpu_slab)
2461  如果 The slab from which we are allocating flush_slab(s, c)
2468  freelist等于 first free object
2469  first free object = NULL
2471  stat(s, Cpu slab acquired from page allocator )
2472  The slab from which we are allocating 等于page
2473  pc等于c
2476  返回:freelist
调用者
名称描述
___slab_allocSlow path. The lockless freelist is empty or we need to perform* debugging duties.* Processing is still very fast if new objects have been freed to the* regular freelist. In that case we simply take over the regular freelist