免费注册 查看新帖 |

Chinaunix

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

[网络子系统] 百兆网卡驱动的问题,napi模式下的eepro100驱动,网卡大流量下停止活动(不收也不发) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-11-06 20:54 |只看该作者 |倒序浏览
2.4内核(struct napi出现之前),百兆网卡驱动eepro100,为了适应大流量的冲击,修改成了napi的模式。但是遇到了一个问题,就是收发一段时间后网卡停止了活动(既不收也不发),这个问题曾经有人在LKML上问过:

i tested the system with smartbits. when the frame size is 64bytes, in the beginning the system can receive and transmit packets. but after a while, the network card would not receive and transmit packets any more.
then with frame size bigger than 128bytes, it worked well. the throughput was improved. (but sometimes it also has some problem just like 64bytes frames)

各位大牛,有人研究过或者遇到过这个问题么

论坛徽章:
0
2 [报告]
发表于 2013-11-06 21:16 |只看该作者
网卡状态是否正常?

论坛徽章:
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 [报告]
发表于 2013-11-07 08:14 |只看该作者
看看收发包缓冲区的使用情况。
同时打一下内核堆栈,看收发包进程阻塞在什么地方了

论坛徽章:
0
4 [报告]
发表于 2013-11-07 10:37 |只看该作者
GFree_Wind 发表于 2013-11-06 21:16
网卡状态是否正常?


怎么看网卡的状态,你说用ifconfig看么?

论坛徽章:
0
5 [报告]
发表于 2013-11-07 10:41 |只看该作者
humjb_1983 发表于 2013-11-07 08:14
看看收发包缓冲区的使用情况。
同时打一下内核堆栈,看收发包进程阻塞在什么地方了


1.看看收发包缓冲区的使用情况。
》》》我发的是udp包,大流量。你说的这个收发包缓冲区怎么看?是用netstat看么?

2.同时打一下内核堆栈,看收发包进程阻塞在什么地方了
》》》内核的调试手段我接触的不多,一般都是自己加/proc或者printk,你说的这个打开内核堆栈怎么操作?

注:我的这个设备是中间设备,两端的流量通过他的处理后转发,这个中间设备本身并不是客户端或服务端。

论坛徽章:
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
6 [报告]
发表于 2013-11-07 11:39 |只看该作者
duoduojl 发表于 2013-11-07 10:41
1.看看收发包缓冲区的使用情况。
》》》我发的是udp包,大流量。你说的这个收发包缓冲区怎么看?是用n ...

之前我们看缓冲区的使用情况是通过内核打点看的,其他方法忘了,不好意思。

内核态堆栈,低版本的内核应该可以通过sysrq来打,执行命令echo t > /sys/sysrq_trigger,执行后所有进程的内核态堆栈都会打到dmesg和messages日志中。

论坛徽章:
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
7 [报告]
发表于 2013-11-07 14:18 |只看该作者
回复 1# duoduojl
2.4内核(struct napi出现之前),百兆网卡驱动eepro100,为了适应大流量的冲击,修改成了napi的模式。但是遇到了一个问题,就是收发一段时间后网卡停止了活动(既不收也不发),这个问题曾经有人在LKML上问过:

i tested the system with smartbits. when the frame size is 64bytes, in the beginning the system can receive and transmit packets. but after a while, the network card would not receive and transmit packets any more.
then with frame size bigger than 128bytes, it worked well. the throughput was improved. (but sometimes it also has some problem just like 64bytes frames)

各位大牛,有人研究过或者遇到过这个问题么


1. dmesg
    Check if there are any kernel complain

2. use kgtp follow some critical area of network stack

3. systemstap maybe another choice for debug kernel stack
   

论坛徽章:
0
8 [报告]
发表于 2013-11-07 16:31 |只看该作者
humjb_1983 发表于 2013-11-07 11:39
之前我们看缓冲区的使用情况是通过内核打点看的,其他方法忘了,不好意思。

内核态堆栈,低版本的内核 ...


谢谢,有帮助。
我想请问一下,想更理解你的意思,
1. 你说看"缓冲区",是看哪个结构?
2  你说的内核打点看就是指printk打印吧???

论坛徽章:
0
9 [报告]
发表于 2013-11-07 16:36 |只看该作者
瀚海书香 发表于 2013-11-07 14:18
回复 1# duoduojl


非常感谢!我打算试试你提供的这些办法!

这个问题在LKML上最终没信了,不知道有没有谁能解答了。

论坛徽章:
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
10 [报告]
发表于 2013-11-08 10:01 |只看该作者
duoduojl 发表于 2013-11-07 16:31
谢谢,有帮助。
我想请问一下,想更理解你的意思,
1. 你说看"缓冲区",是看哪个结构?

这里的缓冲区指的是socket的缓冲区,sock->sk_rcvbuf表示接收缓冲区最大值,sock->sk_rmem_alloc表示目前已经占用的缓冲区大小,相减为当前可用的缓冲区大小。
这个问题目前最主要的应该需要看看进程的堆栈,看看具体卡在哪儿了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP