发布时间:2015-05-27 19:09:51作者:知识屋
b.poll方式< http://www.zhishiwu.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxiciAvJmd0OzxwPjxiciAvJmd0OzwvcD48cD48aW1nIHNyYz0="http://www.zhishiwu.com/uploadfile/Collfiles/20150518/2015051809332093.jpg" alt="/" />
c.NAPI方式
理解了这个,剩下的就都理解了。至于为何会有NAPI,在本文中只能简单说一句:在高速高带宽网络中,数据包持续到来,每一个包中断一次CPU的话,CPU有点吃不消,反而耽误了CPU处理这些数据包,如果之前的数据包还没有处理完,最好的办法就是将数据包排入一个队列,然后沉默,不要打扰CPU,等CPU空下来的时候,自己去poll这些队列里面的数据包,这就是NAPI。
1.主动调用网卡的中断处理函数,获取当前该发送数据包还是接收到一个数据包;
Linux netpoll的总体图示如下: