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 |