我可以理解Linux中的NAPI会从中断模式更改为轮询模式以处理高数据包速率。
NAPI使用权重来决定每个轮询周期中要处理的数据包数量;它还确保每个轮询周期中的数据包处理小于一个jiffies。
然而,我无法在任何地方(谷歌)找到NAPI的民意调查期?我们可以将民意调查期改为我们想要的任何值吗?
非常感谢您的帮助!
从我观察到的情况来看,NAPI的民意调查期似乎是2秒,但我想确保我的观察是正确的。
答案 0 :(得分:5)
NAPI packet processing is controlled in two ways:
netdev_budget
which is the total number of packets that can be processed. This can be tuned by setting the net.core.netdev_budget
sysctl.I wrote a detailed blog post describing the Linux network stack in detail that may interest you and this section shows the code for the NAPI processing loop where the hardcoded timeout can be found.