函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\radix-tree.c Create Date:2022-07-27 07:10:15
Last Modify:2022-05-21 10:04:37 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:This assumes that the caller has performed appropriate preallocation, and* that the caller has pinned this thread of control to the current CPU.

函数原型:static struct xa_node *radix_tree_node_alloc(gfp_t gfp_mask, struct xa_node *parent, struct xarray *root, unsigned int shift, unsigned int offset, unsigned int count, unsigned int nr_values)

返回类型:struct xa_node

参数:

类型参数名称
gfp_tgfp_mask
struct xa_node *parent
struct xarray *root
unsigned intshift
unsigned intoffset
unsigned intcount
unsigned intnr_values
247  struct xa_node * ret = NULL
254  如果非gfpflags_allow_blocking(gfp_mask)且非in_interrupt()则
262  ret等于kmem_cache_alloc(Radix tree node cache., gfp_mask | DOC: Action modifiers* Action modifiers* ~~~~~~~~~~~~~~~~* %__GFP_NOWARN suppresses allocation failure reports.* %__GFP_COMP address compound page metadata.* %__GFP_ZERO returns a zeroed page on success.)
264  如果ret则转到:out
272  rtp等于this_cpu_ptr( & radix_tree_preloads)
273  如果nr
276  nr自减
282  kmemleak_update_trace - update object allocation stack trace*@ptr: pointer to beginning of the object* Override the object allocation stack trace for cases where the actual* allocation place is not always useful.
283  转到:out
285  ret等于kmem_cache_alloc(Radix tree node cache., gfp_mask)
286  out :
287  BUG_ON(radix_tree_is_internal_node(ret))
288  如果ret
289  Bits remaining in each slot 等于shift
290  Slot offset in parent 等于offset
291  Total entry count 等于count
292  Value entry count 等于nr_values
293  NULL at top of tree 等于parent
294  The array we belong to 等于root
296  返回:ret
调用者
名称描述
radix_tree_extendExtend a radix tree so it can store key @index.
__radix_tree_create
idr_get_free