函数逻辑报告 | 
Source Code:kernel\bpf\cpumap.c | 
Create Date:2022-07-27 14:41:44 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:cpu_map_kthread_run
函数原型:static int cpu_map_kthread_run(void *data)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| void * | data | 
| 253 | set_current_state(睡眠态) | 
| 269 | set_current_state(睡眠态) | 
| 274 | 否则 | 
| 277 | 否则 | 
| 278 | sched等于cond_resched() | 
| 286 | n等于ptr_ring_consume_batched( Queue with potential multi-producers, and single-consumer kthread , frames, CPUMAP_BATCH) | 
| 299 | m等于kmem_cache_alloc_bulk(skbuff_head_cache, gfp, n, skbs) | 
| 300 | 如果此条件成立可能性小(为编译器优化)(m == 0)则 | 
| 306 | local_bh_disable() | 
| 312 | skb等于cpu_map_build_skb(rcpu, xdpf, skb) | 
| 313 | 如果非skb则 | 
| 314 | xdp_return_frame(xdpf) | 
| 315 | 继续下一循环 | 
| 319 | ret等于netif_receive_skb_core(skb) | 
| 320 | 如果ret恒等于packet dropped 则drops自加 | 
| 324 | trace_xdp_cpumap_kthread( Back reference to map , n, drops, sched) | 
| 326 | local_bh_enable() | 
| 330 | put_cpu_map_entry(rcpu) | 
| 331 | 返回:0 | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |