知识卡片
三种收发驱动模式的取舍
内容
网卡收发包主要有三种驱动模式:异步中断模式每来一个包就触发中断唤醒CPU,流量低时利用率高,但流量一高,频繁上下文切换的开销会被放大;纯轮询模式完全关闭中断,专用核心不停检查描述符状态,吞吐最高、延迟最低,代价是没有包时也要占满一个核;混合模式借鉴这个矛盾——连续多次收不到包就主动休眠并打开中断,唤醒后再切回轮询,本质是在潮汐流量场景下用一点延迟换取空闲时段的算力释放。三选一取决于流量是持续高速还是有明显峰谷——这也说明[[轮询为何比NAPI与Netmap更彻底]]中”纯轮询更彻底”的结论并非在所有场景都最优,混合模式正是对它的场景化修正。
参考来源
《深入浅出DPDK》第7章《网卡性能优化》