免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5629 | 回复: 14
打印 上一主题 下一主题

[网络子系统] 网卡NAPI收包为何不放在硬中断中? [复制链接]

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-13 22:09 |只看该作者 |正序浏览
中断模式收包放在在硬中断中,使用 backlog队列来缓存
NAPI模式收包缺放在在软中断中, 不再使用本CPU的队列来缓存。收一个包处理一个包
NAPI为何不也在硬中断中轮询收包,收的包都缓存在队列,收完后再处理

论坛徽章:
0
15 [报告]
发表于 2013-12-10 15:28 |只看该作者
mordorwww 发表于 2013-12-10 12:13
收包和硬件密切相关,收包也比较快, 收包相当于领号
包处理相当于窗口办事


我对并行能力强的fpga的设计原理,也不太清楚,
不过“感觉”对于网卡来说,硬中断产生的时候,包已经被网卡收好了
网卡触发硬中断,只是一个告知cpu可以读数据了
cpu不收数据过期就丢弃了

还是这个比方:
去办事,手续必须已经在兜里准备好了
才能去,排号机上拿号(硬中断)
而软中断是办事窗口
实际的包处理,已经进了协议栈,就脱离了 软中断了

这块可能更多还算linux内核自己的分层机制
所有处理都放硬中断里边,肯定没有问题的,说不定处理起来更快
打个比方,如果操作系统都在内核级跑ring3程序,完全可以啊
对于,扩展性来说,就不友好了
罢了

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
14 [报告]
发表于 2013-12-10 12:13 |只看该作者
kkddkkdd11 发表于 2013-12-10 10:29
打个比方
我们去某地方办事
都是先领号,再等待窗口办事


收包和硬件密切相关,收包也比较快, 收包相当于领号
包处理相当于窗口办事


硬中断里不收包,这样硬中断似乎啥也木有干

论坛徽章:
0
13 [报告]
发表于 2013-12-10 10:29 |只看该作者
打个比方
我们去某地方办事
都是先领号,再等待窗口办事
多个窗口代表多个cpu
为啥不直接领号的时候,直接把事干了
道理和napi 不在硬中断里边做 太多事是一样的:)

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
12 [报告]
发表于 2013-12-09 08:53 |只看该作者
smalloc 发表于 2013-12-08 21:22
回复 8# mordorwww



填ring buffer才是响应设备吧,
如果 ring buffer满了,设备就 直接 丢包了, 这个才要快啊

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
11 [报告]
发表于 2013-12-08 21:22 |只看该作者
回复 8# mordorwww


    这不是NAPI的问题,实际上不少网卡有接收ring也没有使用NAPI。
但是很少有网卡驱动硬中断中做新配DMA的操作。都是软中断中处理的。
估计还是2楼说的原因。如果单独享CPU问题不大,但是设备多了硬中断需求多了,如果不及时响应,确实可能在设备上丢失中断状态

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
10 [报告]
发表于 2013-12-08 00:20 |只看该作者
木有答案,顶上来

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
9 [报告]
发表于 2013-04-18 16:14 |只看该作者
回复 4# junnyg


    timeout

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
8 [报告]
发表于 2013-04-18 09:16 |只看该作者
kudakitsune 发表于 2013-04-18 03:28
回复 1# mordorwww

第一个原因,收包可能会涉及到对ring重填,可能要分配内存


第一个原因,收包可能会涉及到对ring重填,可能要分配内存
                        有什么问题?
                               如果不用NAPI,事实上还是硬中断收包,硬中断仍然要做这些情
第二个原因,可能因为实际处理能力不足,收到的包最后还是要丢掉。浪费时间
                       浪费的只是收包,收包动作本省就是非常轻量的。
                       包送到了进程,可能因为实际处理能力不足,进程处理不了,仍然要丢掉。仍然要浪费时间

第三个原因,按你的方法,最后处理方式还是没有变化,白添了操作。浪费时间
                       没看明白问题在哪里

论坛徽章:
0
7 [报告]
发表于 2013-04-18 03:28 |只看该作者
回复 1# mordorwww

第一个原因,收包可能会涉及到对ring重填,可能要分配内存
第二个原因,可能因为实际处理能力不足,收到的包最后还是要丢掉。浪费时间
第三个原因,按你的方法,最后处理方式还是没有变化,白添了操作。浪费时间
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP