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