免费注册 查看新帖 |

Chinaunix

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

[硬件及驱动] 请教:网卡多队列对应的中断是如何在各个cpu上分配的 [复制链接]

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-26 11:13 |只看该作者 |倒序浏览
网卡多队列功能,每个队列对应的中断是如何在各个CPU上分配的?
如网络收包时,如何确认收包中断发往哪个CPU?如何保证各个CPU上的中断和软中断均衡?
感谢!

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2014-06-26 14:37 |只看该作者
如果没有手工 bind 的话, 会随机分配吧?

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
3 [报告]
发表于 2014-06-26 14:43 |只看该作者
q1208c 发表于 2014-06-26 14:37
如果没有手工 bind 的话, 会随机分配吧?

通常是在驱动中bind的,如每个cpu绑定一个(或两个,收/发)中断~,但这只是绑定“队列或中断”跟“CPU”的关系,我的疑问是:网卡硬件收包时,如何决定往哪个队列上放包?即如何决定向哪个cpu触发中断?
如果收包繁忙,如何保证各CPU间的中断和负荷均衡?

感谢答复!!

论坛徽章:
16
CU十二周年纪念徽章
日期:2013-10-24 15:41:3415-16赛季CBA联赛之广东
日期:2015-12-23 21:21:55青铜圣斗士
日期:2015-12-05 10:35:30黄金圣斗士
日期:2015-11-26 20:42:16神斗士
日期:2015-11-19 12:47:50每日论坛发贴之星
日期:2015-11-18 06:20:00程序设计版块每日发帖之星
日期:2015-11-18 06:20:002015亚冠之城南
日期:2015-11-10 19:10:492015亚冠之萨济拖拉机
日期:2015-10-28 18:47:282015亚冠之柏太阳神
日期:2015-08-30 17:21:492015亚冠之山东鲁能
日期:2015-07-07 18:48:39摩羯座
日期:2014-08-29 23:01:42
4 [报告]
发表于 2014-06-26 14:53 |只看该作者
是否有队列跟报文的映射关系啊

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
5 [报告]
发表于 2014-06-26 15:40 |只看该作者
tc1989tc 发表于 2014-06-26 14:53
是否有队列跟报文的映射关系啊

报文跟队列映射关系具体指啥?有啥映射关系?

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
6 [报告]
发表于 2014-06-26 15:48 |只看该作者
回复 3# humjb_1983
通常是在驱动中bind的,如每个cpu绑定一个(或两个,收/发)中断~,但这只是绑定“队列或中断”跟“CPU”的关系,我的疑问是:网卡硬件收包时,如何决定往哪个队列上放包?即如何决定向哪个cpu触发中断?
如果收包繁忙,如何保证各CPU间的中断和负荷均衡?


(1)可以通过/proc/irq/${irqnum}/smp_affinity 来手动配置中断触发的CPU
(2)能否保证中断均衡到各个CPU上,这个可以通过irqbalance来实现

   

论坛徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技术图书徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44双子座
日期:2013-12-27 12:32:29双子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
7 [报告]
发表于 2014-06-26 15:56 |只看该作者

这个应该是网卡的硬件逻辑或者是 fireware决定的吧?没接触过具体的网卡硬件,也许通过驱动进行策略设置?

是不是硬件队列循环收包?假如网卡设备开启了 sr-iov,那么又应该是怎么样的情况?

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
8 [报告]
发表于 2014-06-26 15:57 |只看该作者
瀚海书香 发表于 2014-06-26 15:48
回复 3# humjb_1983

感谢瀚海兄~
但还是没有理解我的意思~,也许是我没表达清楚~
中断绑定这个没问题,但是这只是绑定了中断和CPU的关系,关键问题在于中断的来源,由于有多个中断(每个队列一个),网卡硬件收包时,如何决定触发哪个中断?如果网卡硬件将网络包都向同一个中断(队列)上灌,那么就只会有一个CPU处理网络包,那中断绑定、irqbalance都无济于事了~~

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
9 [报告]
发表于 2014-06-26 16:19 |只看该作者
asuka2001 发表于 2014-06-26 15:56
这个应该是网卡的硬件逻辑或者是 fireware决定的吧?没接触过具体的网卡硬件,也许通过驱动进行策略设置? ...

感谢!
这个确实应该是硬件或固件决定的,查了下相关资料,好像网卡在收包时会根据网络包的src ip来进行hash,选择最终的队列,
即来源于同一个IP的网络包,会放到同一个队列中处理,那么在实际的网络模型中,如果网络压力来源于同一个主机,那么就
注定多队列无法均衡了~~

论坛徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技术图书徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44双子座
日期:2013-12-27 12:32:29双子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
10 [报告]
发表于 2014-06-26 16:35 |只看该作者
回复 9# humjb_1983

为什么不可以由驱动设置策略呢。。。

比如通过 src ip进行 hash,如果中断投递的 cpu和 RFS期望的 cpu不一样,这样是不是一样有一些 ipi的损耗呢?

同样,假如我们希望进行省电优化,防止 hash到已经 idle的 CPU,通过驱动将其设定为集中投递给 cpu 0也是一种很好的选择。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP