Chinaunix

标题: linux网卡中断和时钟中断的优先级问题 [打印本页]

作者: simtiger    时间: 2007-10-22 11:13
标题: linux网卡中断和时钟中断的优先级问题
x86上linux2.6.9默认情况下是网卡中断的优先级高,还是时钟中断的优先级高?

换句话说,如果程序在网卡中断处理程序中(中断上下文中)死锁了或者睡眠了,时钟中断可否抢占?
作者: xhbdahai    时间: 2007-10-22 13:57
标题: 回复 #1 simtiger 的帖子
中断处理时如果关了中断,而中断处理程序因为某种原因而睡眠或者死锁,那么你只能有一个办法来恢复系统,那就是重新启动。这时候不存在什么抢占的问题了,因为你diable了CPU的中断。

在中断上下文中不能睡眠,要小心处理spin_lock的问题。
作者: simtiger    时间: 2007-10-23 22:09
原帖由 xhbdahai 于 2007-10-22 13:57 发表
中断处理时如果关了中断,而中断处理程序因为某种原因而睡眠或者死锁,那么你只能有一个办法来恢复系统,那就是重新启动。这时候不存在什么抢占的问题了,因为你diable了CPU的中断。

在中断上下文中不能睡眠 ...



谢谢指点。死锁问题通常怎么解决呢?  除了代码review之外?
作者: xhbdahai    时间: 2007-10-24 21:33
标题: 回复 #3 simtiger 的帖子
对于死锁,我这里没有太多的方法。通常出来这个问题,我的做法就是代码review,没有发现有什么好的方式。不知仁兄有没有什么高招?如果有更好的方式,请不吝赐教!谢谢!
作者: simtiger    时间: 2007-10-25 12:51
原帖由 xhbdahai 于 2007-10-24 21:33 发表
对于死锁,我这里没有太多的方法。通常出来这个问题,我的做法就是代码review,没有发现有什么好的方式。不知仁兄有没有什么高招?如果有更好的方式,请不吝赐教!谢谢!


正在痛苦的code review中,

有个问题再请教一下,,,用户态程序通过调用ioctl调用内核模块的时候(此时内核处于进程上下文),,此时网卡来数据导致的网卡中断(中断上下文)能抢占么?这两个谁的优先级高一些呢?
作者: xhbdahai    时间: 2007-10-25 23:12
标题: 回复 #5 simtiger 的帖子
你的进程会被打断,中断处理程序会被执行!应为中断对CPU来说属于异常。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2