函数逻辑报告 | 
Source Code:kernel\bpf\hashtab.c | 
Create Date:2022-07-27 14:24:57 | 
| Last Modify:2022-05-23 09:15:29 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:prealloc_init
函数原型:static int prealloc_init(struct bpf_htab *htab)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct bpf_htab * | htab | 
| 136 | num_entries等于max_entries | 
| 139 | 如果非htab_is_percpu(htab)且非htab_is_lru(htab)则num_entries加等于num_possible_cpus() | 
| 147 | 如果非htab_is_percpu(htab)则转到:skip_percpu_elems | 
| 150 | 以i小于num_entries循环 | 
| 155 | 如果非pptr则转到:free_elems | 
| 157 | htab_elem_set_ptr(get_htab_elem(htab, i), key_size, pptr) | 
| 159 | cond_resched() | 
| 162 | skip_percpu_elems : | 
| 170 | 否则err等于pcpu_freelist_init( & freelist) | 
| 173 | 如果err则转到:free_elems | 
| 176 | 如果htab_is_lru(htab)则bpf_lru_populate( & lru, elems, offsetof(structhtab_elem, lru_node), size of each element in bytes , num_entries) | 
| 180 | 否则pcpu_freelist_populate( & freelist, elems + offsetof(structhtab_elem, fnode), size of each element in bytes , num_entries) | 
| 185 | 返回:0 | 
| 187 | free_elems : | 
| 188 | htab_free_elems(htab) | 
| 189 | 返回:err | 
| 名称 | 描述 | 
|---|---|
| htab_map_alloc | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |