函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:vmalloc_init

函数原型:void __init vmalloc_init(void)

返回类型:void

参数:

1948  This kmem_cache is used for vmap_area objects. Instead of* allocating from slab we reuse an object from this cache to* make things faster. Especially in "no edge" splitting of* free block.等于Please use this macro to create slab caches. Simply specify the* name of the structure and maybe some flags that are listed above.* The alignment of the struct determines object alignment. If you* f(vmap_area, Panic if kmem_cache_create() fails )
1950  遍历可用CPU(i)
1954  vbq等于per_cpu(Queue of free and dirty vmap blocks, for allocation and flushing purposes , i)
1955  spin_lock_init( & lock)
1956  初始化链表头
1957  p等于per_cpu(vfree_deferred, i)
1958  初始化锁表头
1959  INIT_WORK( & wq, free_work)
1963 tmp循环
1964  va等于Shortcuts
1965  如果WARN_ON_ONCE(!va)则继续下一循环
1968  va_start等于addr
1969  va_end等于va_startsize
1970  in "busy" tree 等于tmp
1971  insert_vmap_area(va, & vmap_area_root, & Export for kexec only )
1977  vmap_init_free_space()
1978  vmap_initialized = true
调用者
名称描述
mm_init设置内核内存分配器