函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:vma_interval_tree_insert

函数原型:void vma_interval_tree_insert(struct vm_area_struct *node, struct rb_root_cached *root)

返回类型:void

参数:

类型参数名称
struct vm_area_struct *node
struct rb_root_cached *root
25  struct rb_node * * link = & rb_node, * rb_parent = NULL
25  start等于vma_start_pgoff(node), last等于vma_last_pgoff(node)
25  bool leftmost = true
25 link循环
25  rb_parent等于link
25  parent = ({
25  __mptr等于rb_parent
25  循环
25  当0循环
25  })
25  如果rb_subtree_last小于lastrb_subtree_last等于last
25  如果start小于vma_start_pgoff(parent)则link等于rb_left
25  否则
25  link等于rb_right
25  leftmost = false
25  rb_subtree_last等于last
25  rb_link_node( & rb, rb_parent, link)
25  rb_insert_augmented_cached( & rb, root, leftmost, & vma_interval_tree_augment)
调用者
名称描述
add_vma_to_mmadd a VMA into a process's mm_struct in the appropriate place in the list* and tree and add to the address space's page tree also if not an anonymous* page* - should be called with mm->mmap_sem held writelocked
__vma_link_file
__vma_adjustWe cannot adjust vm_start, vm_end, vm_pgoff fields of a vma that* is already present in an i_mmap tree without adjusting the tree.* The following helper function should be used when such adjustments* are necessary