函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\vmalloc.c Create Date:2022-07-27 16:28:03
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:This function returns back addresses of parent node* and its left or right link for further processing.

函数原型:static __always_inline struct rb_node **find_va_links(struct vmap_area *va, struct rb_root *root, struct rb_node *from, struct rb_node **parent)

返回类型:struct rb_node

参数:

类型参数名称
struct vmap_area *va
struct rb_root *root
struct rb_node *from
struct rb_node **parent
445  如果root
446  link等于rb_node
448  * parent = NULL
449  返回:link
451  否则
452  link等于from
460  循环
461  tmp_va等于rb_entry( * link, structvmap_area, rb_node)
468  如果va_start小于va_endva_end小于等于va_startlink等于rb_left
471  否则如果va_end大于va_startva_start大于等于va_endlink等于rb_right
474  否则BUG()
476 link循环
478  parent等于 address sorted rbtree
479  返回:link
调用者
名称描述
insert_vmap_area
insert_vmap_area_augment
merge_or_add_vmap_areaMerge de-allocated chunk of VA memory with previous* and next free blocks. If coalesce is not done a new* free area is inserted. If VA has been merged, it is* freed.