Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\vmalloc.c Create Date:2022-07-28 14:58:31
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:link_va

Proto:static __always_inline void link_va(struct vmap_area *va, struct rb_root *root, struct rb_node *parent, struct rb_node **link, struct list_head *head)

Type:void

Parameter:

TypeParameterName
struct vmap_area *va
struct rb_root *root
struct rb_node *parent
struct rb_node **link
struct list_head *head
508  If Value is more likely to compile time(parent) Then
509  head = & ({
509  __mptr = parent
509  Do
509  When 0 cycle
509  })->list
510  If rb_right != link Then head = prev
515  rb_link_node( & address sorted rbtree , parent, link)
516  If root == This augment red-black tree represents the free vmap space Then
528  Fixup the rbtree and update the augmented information when rebalancing.* On insertion, the user must update the augmented information on the path* leading to the inserted node, then call rb_link_node() as usual and
530  in "free" tree = 0
531  Else
532  rb_insert_color( & address sorted rbtree , root)
536  list_add - add a new entry*@new: new entry to be added*@head: list head to add it after* Insert a new entry after the specified head.* This is good for implementing stacks.
Caller
NameDescribe
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.