NAPI 技术在 Linux 网络驱动上的应用和完善 NAPI 技术是 Linux 上的一种提高网络处理效率的技术,其核心概念是使用 POLL 的方法来轮询数据,而不是使用中断的方式读取数据。该技术已经在网卡驱动层和网络层得到了广泛的应用,驱动层次上已经有 E1000 系列网卡、RTL8139 系列网卡、3c50X 系列等主流的网络适配器都采用了这个技术。 NAPI 技术的优点是可以大大改善短长度数据包接收的效率,减少中断触发的时间。但是 NAPI 也存在一些缺陷,如对上层的应用程序而言,系统不能在每个数据包接收到的时候都可以及时地去处理它,随着传输速度增加,累计的数据包将会消耗大量的内存。 使用 NAPI 需要满足两个条件:一是驱动可以继续使用老的 2.4 内核的网络驱动程序接口,NAPI 的参加并不会导致向前兼容性的丧失;二是至少要得到以下两个保证:使用 DMA 的环形输入队列,或者是有足够的内存空间缓存驱动获得的包。 NAPI 对数据包到达的事件的处理采用轮询方法,在数据包到达的时候,NAPI 就会强制执行 dev->poll 方法。为了减少包到达时间的处理延迟,NAPI 使用轮询方法来进行,而不是使用中断的方法。 在使用 NAPI 时,应当注意的是,经过测试如果 DEC Tulip 系列(DE21x4x 芯片)以及 National Semi 的局部网卡芯片,的测试说明如果把从前中断处理的局部都改换用设备的 POLL 方法去执行,那么会造成轻微的延迟。 NAPI 技术在 RTL8139CP 网卡驱动程序中的应用是把处理过程放在 dev 的 poll 方法中,把所有的原来中断应该处理的过程放在了 POLL 方法里面。 NAPI 技术可以大大改善短长度数据包接收的效率,减少中断触发的时间,但是在使用 NAPI 时需要注意一些缺陷和限制。 知识点: 1.NAPI 技术是 Linux 上的一种提高网络处理效率的技术。 2.NAPI 技术的核心概念是使用 POLL 的方法来轮询数据,而不是使用中断的方式读取数据。 3.NAPI 技术可以大大改善短长度数据包接收的效率,减少中断触发的时间。 4.NAPI 技术存在一些缺陷,如对上层的应用程序而言,系统不能在每个数据包接收到的时候都可以及时地去处理它,随着传输速度增加,累计的数据包将会消耗大量的内存。 5.使用 NAPI 需要满足两个条件:一是驱动可以继续使用老的 2.4 内核的网络驱动程序接口,NAPI 的参加并不会导致向前兼容性的丧失;二是至少要得到以下两个保证:使用 DMA 的环形输入队列,或者是有足够的内存空间缓存驱动获得的包。 6.NAPI 对数据包到达的事件的处理采用轮询方法,在数据包到达的时候,NAPI 就会强制执行 dev->poll 方法。 7.在使用 NAPI 时,应当注意的是,经过测试如果 DEC Tulip 系列(DE21x4x 芯片)以及 National Semi 的局部网卡芯片,的测试说明如果把从前中断处理的局部都改换用设备的 POLL 方法去执行,那么会造成轻微的延迟。 8.NAPI 技术在 RTL8139CP 网卡驱动程序中的应用是把处理过程放在 dev 的 poll 方法中,把所有的原来中断应该处理的过程放在了 POLL 方法里面。
剩余13页未读,继续阅读
- 粉丝: 2787
- 资源: 8万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高考倒计时html完整代码.html
- 机械手机器人含设计文档汽车零件加工自动线上的多功能机械手的设计
- 【自动驾驶博弈决策道】VS「文献复现」 参考文献博弈公式建立,体会博弈决策思想,对照代码实现并学会自主解决问题 基于NGSSIM数据集预定义路径 python求解结果matlab绘图对比实验分析及
- 基于python的web漏洞挖掘技术的研究(django)源代码(python毕业设计完整源码+LW).zip
- 机械手机器人含设计文档轻型平动搬运机械手的设计
- 基于自适应svm电影评价倾向性分析(cs)源代码(python毕业设计完整源码+LW).zip
- 机械手机器人含设计文档三自由度圆柱坐标型工业机器人设计
- 基于python的棉花数据平台建设与可视化系统(django)源代码(python毕业设计完整源码+LW).zip
- 【图像分割领域】+【Segment Anything模型】+【C++本地部署】
- 机械手机器人含设计文档数控机床上下料机械手设计
- 基于python的人脸表情的分类算法的设计(django)源代码(python毕业设计完整源码+LW).zip
- 生日快乐祝福html完整代码.html
- 基于python的图像取证技术研究与实现(django)源代码(python毕业设计完整源码+LW).zip
- 机械手机器人含设计文档数控卧式镗铣床换刀机械手的设计
- IMG_20241231_151913.jpg
- 基于python的校园舆情管理系统源代码(python毕业设计完整源码+LW).zip