1. NAPI简介
NAPI是为了优化网卡性能引入的。在中断比较频繁时,采用线程去接收数据,降低中断对CPU的影响,从而提高主机性能。
2. NAPI基本步骤
OS收到中断后,进行下列动作:
屏蔽中断——〉唤醒线程——〉线程处理事务——〉取消屏蔽中断
3. 问题
为什么要屏蔽中断?
首先,要了解屏蔽中断的含义。这不是指禁止CPU响应外设的中断,而是指禁止掉外设来中断CPU,外设的中断位仍然存在。
其次,如果不屏蔽中断,那么在退出线程处理事务时,假如已经检测到事务处理完毕,正要退出,这时被中断打断,那么在这个临界点就会丢中断而不处理。而屏蔽掉中断,并不会导致中断不处理,该中断寄存器仍然有值。待打开中断后,就会收到中断。
最后,为什么将屏蔽掉中断放在最开始?这样可以避免外设过于频繁中断CPU,影响性能。
以上内容,多来源于看书和网络,以及自己的思考,如有不足,还请指正。