Function report |
Source Code:lib\generic-radix-tree.c |
Create Date:2022-07-28 06:25:36 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Returns pointer to the specified byte @offset within @radix, allocating it if* necessary - newly allocated slots are always zeroed out:
Proto:void *__genradix_ptr_alloc(struct __genradix *radix, size_t offset, gfp_t gfp_mask)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct __genradix * | radix | |
size_t | offset | |
gfp_t | gfp_mask |
108 | struct genradix_node * n, * new_node = NULL |
112 | When 1 cycle |
115 | n = genradix_root_to_node(r) |
116 | level = genradix_root_to_depth(r) |
121 | If Not new_node Then |
122 | new_node = genradix_alloc_node(gfp_mask) |
123 | If Not new_node Then Return NULL |
127 | Interior node: [0] = n |
138 | p = Interior node: [offset >> genradix_depth_shift(level)] |
143 | If Not n Then |
144 | If Not new_node Then |
145 | new_node = genradix_alloc_node(gfp_mask) |
146 | If Not new_node Then Return NULL |
150 | If Not (n = cmpxchg_release(p, NULL, new_node)) Then swap - swap values of @a and @b*@a: first value*@b: second value(n, new_node) |
155 | If new_node Then genradix_free_node(new_node) |
Name | Describe |
---|---|
__genradix_prealloc |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |