- 论坛徽章:
- 0
|
原帖由 albcamus 于 2006-3-14 10:01 发表
ksoftirqd也算是process context, 可以睡眠。 可是除非softirq重复触发, 否则在interrupt conetxt中就处理完了, 不用唤起ksoftirqd来处理。
所以尽管softirq有可能在process context执行, 我们还是要保证 ...
我觉得这是一个概念的问题吧。我的理解是这样的:上下文是相对于进程和内核线程的概念。严格地说,某个进程或是内核线程都不是属于context的。context特指进程和内核线程以外的内核代码。比如system call的那部分进程上下文不属于特定进程,而interrupt top half, 向内核注册的softirq,tasklet,work queue代码也不属于特定的内核线程。context更像是这些进程和内核线程运行的环境。所以很难说某个进程或是内核线程“属于”,“在”或是“是”上下文。
就像书上说的,软中断是不可以休眠的,但是ksoftirqd确是可以休眠的。前面指的是软中断的上下文,后者指的是ksoftirqd内核线程。
我有点钻牛角尖了,不知道理解得对不对。
[ 本帖最后由 richardhesidu 于 2006-3-15 00:03 编辑 ] |
|