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 |