wucongdonglai 于 2010-08-18 08:27:53发表:
6# deepwhite 我也是这么理解的,上半部没有上下文,被打断了的话怎么恢复呢?下半部那肯定是可以被打断的,不然按理说就没必要分上下部了!
deepwhite 于 2010-08-17 09:32:42发表:
我说的软中断。 因为钱一阵时间学习网卡驱动,所以了解一些。但是对其他的部分并不了解。
deepwhite 于 2010-08-17 09:20:37发表:
太具体的我没看,但我的理解是, Top Half 必须关所有中断,不能被打断。中断处理的 bottom half 可以打开其他的中断,可以被打断。
wucongdonglai 于 2010-08-17 08:36:59发表:
3# deepwhite 除非在标明SA_INTERRUPT,即给定中断处理程序是一个快速中断处理程序,才会禁用所有的中断,不然一般的中断处理程序只会禁用本中断线上的中断,那么其他中断线上的中断还是处于被激活阶段的啊
yanlong938 于 2010-08-17 01:35:13发表:
文字游戏。。。。
deepwhite 于 2010-08-16 18:20:57发表:
[i=s] 本帖最后由 deepwhite 于 2010-8-16 18:24 编辑 [/i]一般的中断处理函数,在函数在进入中断上下文后,首先要 disable interrupts,然后进行中断处理的top half,最后再重新 enable interrupts。 这样,在中断处理的 top half 的处理过程中,不会被其他的中断打断的,因为其他的中断已经被禁用了。 所以你的倒数第二句应该不会发生。 个人意见。
wucongdonglai 于 2010-08-16 14:42:00发表:
哪位大哥帮忙解释一下啊
wucongdonglai 于 2010-08-18 08:27:53发表:
6# deepwhite
我也是这么理解的,上半部没有上下文,被打断了的话怎么恢复呢?下半部那肯定是可以被打断的,不然按理说就没必要分上下部了!
deepwhite 于 2010-08-17 09:32:42发表:
我说的软中断。
因为钱一阵时间学习网卡驱动,所以了解一些。但是对其他的部分并不了解。
deepwhite 于 2010-08-17 09:20:37发表:
太具体的我没看,但我的理解是, Top Half 必须关所有中断,不能被打断。中断处理的
bottom half 可以打开其他的中断,可以被打断。
wucongdonglai 于 2010-08-17 08:36:59发表:
3# deepwhite
除非在标明SA_INTERRUPT,即给定中断处理程序是一个快速中断处理程序,才会禁用所有的中断,不然一般的中断处理程序只会禁用本中断线上的中断,那么其他中断线上的中断还是处于被激活阶段的啊
yanlong938 于 2010-08-17 01:35:13发表:
文字游戏。。。。
deepwhite 于 2010-08-16 18:20:57发表:
[i=s] 本帖最后由 deepwhite 于 2010-8-16 18:24 编辑 [/i]
一般的中断处理函数,在函数在进入中断上下文后,首先要 disable interrupts,然后进行中断处理的top half,最后再重新 enable interrupts。
这样,在中断处理的 top half 的处理过程中,不会被其他的中断打断的,因为其他的中断已经被禁用了。
所以你的倒数第二句应该不会发生。
个人意见。
wucongdonglai 于 2010-08-16 14:42:00发表:
哪位大哥帮忙解释一下啊