Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\radix-tree.c Create Date:2022-07-28 06:13:01
Last Modify:2022-05-21 10:04:37 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__radix_tree_create

Proto:static int __radix_tree_create(struct xarray *root, unsigned long index, struct radix_tree_node **nodep, void __rcu ***slotp)

Type:int

Parameter:

TypeParameterName
struct xarray *root
unsigned longindex
struct radix_tree_node **nodep
void __rcu ***slotp
612  node = NULL
613  void __rcu * * slot = (void __rcu * * ) & xa_head
615  offset = 0
616  max = index
617  gfp = root_gfp_mask(root)
619  shift = radix_tree_load_root(root, & child, & maxindex)
622  If max > maxindex Then
623  error = Extend a radix tree so it can store key @index.
624  If error < 0 Then Return error
626  shift = error
627  child = Dependency order vs. p above. (xa_head)
630  When shift > 0 cycle
631  shift -= adix-tree API starts here **
632  If (child == NULL) Then
636  If Not child Then Return -ENOMEM
639  If node Then count++
641  Else if Not radix_tree_is_internal_node(child) Then Break
645  node = entry_to_node(child)
646  offset = radix_tree_descend(node, & child, index)
647  slot = slots[offset]
650  If nodep Then nodep = node
652  If slotp Then slotp = slot
654  Return 0
Caller
NameDescribe
radix_tree_insert__radix_tree_insert - insert into a radix tree*@root: radix tree root*@index: index key*@item: item to insert* Insert an item into the radix tree at position @index.