Function report |
Source Code:lib\radix-tree.c |
Create Date:2022-07-28 06:13:12 |
| Last Modify:2022-05-21 10:04:37 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:idr_get_free
Proto:void __rcu **idr_get_free(struct xarray *root, struct radix_tree_iter *iter, gfp_t gfp, unsigned long max)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct xarray * | root | |
| struct radix_tree_iter * | iter | |
| gfp_t | gfp | |
| unsigned long | max |
| 1492 | start = next_index |
| 1493 | offset = 0 |
| 1495 | grow : |
| 1496 | shift = radix_tree_load_root(root, & child, & maxindex) |
| 1497 | If Not adix_tree_tagged - test whether any items in the tree are tagged*@root: radix tree root*@tag: tag to test Then start = max(start, maxindex + 1) |
| 1507 | child = Dependency order vs. p above. (xa_head) |
| 1509 | If start == 0 && shift == 0 Then shift = adix-tree API starts here ** |
| 1513 | shift -= adix-tree API starts here ** |
| 1514 | If (child == NULL) Then |
| 1516 | child = This assumes that the caller has performed appropriate preallocation, and* that the caller has pinned this thread of control to the current CPU. |
| 1520 | all_tag_set(child, The IDR API does not expose the tagging functionality of the radix tree* to users. Use tag 0 to track whether a node has free space below it.) |
| 1524 | Else if Not radix_tree_is_internal_node(child) Then Break |
| 1527 | node = entry_to_node(child) |
| 1528 | offset = radix_tree_descend(node, & child, start) |
| 1532 | start = next_index(start, node, offset) |
| 1535 | When offset == RADIX_TREE_MAP_SIZE cycle |
| 1542 | child = Dependency order vs. p above. (slots[offset]) |
| 1548 | If node Then next_index = 1 + min - return minimum of two values of the same or compatible types*@x: first value*@y: second value(max, (start | node_maxindex(node))) |
| 1550 | Else next_index = 1 |
| 1555 | Return slot |
| Name | Describe |
|---|---|
| idr_alloc_u32 |
| 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 |