函数逻辑报告 |
Source Code:kernel\bpf\hashtab.c |
Create Date:2022-07-27 14:25:50 |
Last Modify:2022-05-23 09:15:29 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:alloc_htab_elem
函数原型:static struct htab_elem *alloc_htab_elem(struct bpf_htab *htab, void *key, void *value, u32 key_size, u32 hash, bool percpu, bool onallcpus, struct htab_elem *old_elem)
返回类型:struct htab_elem
参数:
类型 | 参数 | 名称 |
---|---|---|
struct bpf_htab * | htab | |
void * | key | |
void * | value | |
u32 | key_size | |
u32 | hash | |
bool | percpu | |
bool | onallcpus | |
struct htab_elem * | old_elem |
726 | size等于value_size |
727 | prealloc等于htab_is_prealloc(htab) |
731 | 如果prealloc则 |
747 | 否则 |
748 | 如果atomic_inc_return( & number of elements in this hashtable )大于max_entries则如果非old_elem则 |
760 | 如果非l_new则 |
769 | 如果percpu则 |
771 | 如果prealloc则 |
772 | pptr等于htab_elem_get_ptr(l_new, key_size) |
773 | 否则 |
777 | 如果非pptr则 |
784 | pcpu_copy_value(htab, pptr, value, onallcpus) |
786 | 如果非prealloc则htab_elem_set_ptr(l_new, key_size, pptr) |
788 | 否则如果fd_htab_map_needs_adjust(htab)则 |
791 | 否则 |
798 | 返回:l_new |
799 | dec_count : |
801 | 返回:l_new |
名称 | 描述 |
---|---|
htab_map_update_elem | Called from syscall or from eBPF program |
__htab_percpu_map_update_elem |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |