You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux 4.15中ftrace显示napi_gro_receive在不同进程上下文是否正常?

napi_gro_receive()在和ksoftirq上下文执行是否符合预期?

这种现象完全符合Linux 4.15内核的行为逻辑,原因如下:

  • ksoftirq上下文是常规执行路径:网卡收到数据包触发硬中断后,硬中断处理函数会标记NAPI调度请求,随后NET_RX_SOFTIRQ软中断触发时,ksoftirqd进程会执行napi_poll,进而调用napi_gro_receive,这是最常见的场景。

  • 上下文是内核优化后的路径:Linux内核NAPI机制带有预算控制(默认64个数据包),当ksoftirqd处理完一轮预算后,如果网卡仍有未处理的数据包,且当前CPU处于idle状态,内核会直接在idle进程上下文继续执行napi_poll(避免频繁调度ksoftirqd进程带来的开销),此时napi_gro_receive就会运行在<idle>-0的上下文里。

你的ftrace配置通过set_graph_function追踪了所有带gro_receive的函数,因此捕获到这两种不同调用路径属于正常情况。


内容的提问来源于stack exchange,提问作者CarloC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 06:42:06