函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |