免费注册 查看新帖 |

Chinaunix

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

请教网卡中的中断问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-03 14:56 |只看该作者 |倒序浏览
大家好,我最近在研究网卡驱动,看了很多文章都说,网卡在接收到报文后会产生中断,从而调用中断处理函数,于是我在中断处理函数中加入printk打印日志,发现当我把网线拔掉之后,也就是根本没有报文接收到的情况下,中断处理函数仍然会被不断的调用。请问这是什么在调用它呢?是什么在不停中断呢?
PS.我研究的是e1000的网卡,驱动比较新,其中的中断处理函数为e1000_intr()

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2008-11-03 15:07 |只看该作者

回复 #1 yangfangood 的帖子

我觉得是这样的,虽然拔掉了网线,但是网卡还是存在的,且接通了电源,所以属于正常工作状态的。
中断的发生可能基于一个原因:就是上层仍可能会发送数据包出去(没有网线就只是把数据包丢到网口),这样发送结束仍旧会产生中断。

我建议你看一下e1000手册,了解清楚中断发生的条件,这个是解决疑惑的关键。等你把结果告知出来。

论坛徽章:
0
3 [报告]
发表于 2008-11-03 15:30 |只看该作者
原帖由 dreamice 于 2008-11-3 15:07 发表
我觉得是这样的,虽然拔掉了网线,但是网卡还是存在的,且接通了电源,所以属于正常工作状态的。
中断的发生可能基于一个原因:就是上层仍可能会发送数据包出去(没有网线就只是把数据包丢到网口),这样发送结 ...

谢谢版主的回答,你说的这个原因我也想到过,就是不清楚发送数据会调用中断处理函数吗?
PS.我的网卡工作在NAPI模式下

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
4 [报告]
发表于 2008-11-03 15:38 |只看该作者

回复 #3 yangfangood 的帖子

应该有一个发包结束的中断,就是说包成功发送出去后,会有一个中断,告知已发送成功。我觉得应该是这歌原因。

论坛徽章:
0
5 [报告]
发表于 2008-11-03 15:57 |只看该作者
原帖由 dreamice 于 2008-11-3 15:38 发表
应该有一个发包结束的中断,就是说包成功发送出去后,会有一个中断,告知已发送成功。我觉得应该是这歌原因。

哦,如果是这样的话也是有可能的,因为我对网卡发送没有研究过,所以不清楚,我不知道发送也可能引发中断,呵呵。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
6 [报告]
发表于 2008-11-03 17:03 |只看该作者
原帖由 yangfangood 于 2008-11-3 15:57 发表

哦,如果是这样的话也是有可能的,因为我对网卡发送没有研究过,所以不清楚,我不知道发送也可能引发中断,呵呵。



应该是这个问题。
通常,发送网络数据包的时候,如果此时网卡正在发送数据,那么只要把数据包发送到发送队列就是了;
如果网卡此时并没有发送数据,则需要把数据包投递到网卡,触发执行包的发送;包发送完了,肯定需要通知内核,这就是发送结束中断吧。

论坛徽章:
0
7 [报告]
发表于 2008-11-03 17:26 |只看该作者
原帖由 dreamice 于 2008-11-3 17:03 发表



应该是这个问题。
通常,发送网络数据包的时候,如果此时网卡正在发送数据,那么只要把数据包发送到发送队列就是了;
如果网卡此时并没有发送数据,则需要把数据包投递到网卡,触发执行包的发送;包发送 ...

恩,谢谢啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP