当前位置: 技术问答>linux和unix
内核的daemon运行于什么上下文
来源: 互联网 发布时间:2017-01-03
本文导语: 我们知道,内核态的处理器要么是在进程上下文,要么是在中断上下文。 那么,内核的daemon运行于什么上下文? | 这还要出处。。。 softirq/tasklet运行在中断上下文,这句话没有问题。 但是若...
我们知道,内核态的处理器要么是在进程上下文,要么是在中断上下文。
那么,内核的daemon运行于什么上下文?
那么,内核的daemon运行于什么上下文?
|
这还要出处。。。
softirq/tasklet运行在中断上下文,这句话没有问题。
但是若系统负载过重(在一个循环中处理的软件中断次数大于10)的时候,一些本来应该在中断上下文中处理的事情,就被转移到内核中的进程上下文处理了,在ksoftirq中会唤醒相应的daemon进程处理。
softirq/tasklet运行在中断上下文,这句话没有问题。
但是若系统负载过重(在一个循环中处理的软件中断次数大于10)的时候,一些本来应该在中断上下文中处理的事情,就被转移到内核中的进程上下文处理了,在ksoftirq中会唤醒相应的daemon进程处理。
|
softirq 的action是可能在一个进程里面启动的,
但do_softirq 在调用 action 之前,是禁用了抢占的,所以 你这个干活的action,是不能休眠的,但有可能被硬件中断给抢占。
你在action这里面的时候,就应该像在中断环境一样,不能休眠这些。所以书上说 运行在中断上下文,应该就是这个意思,
但do_softirq 在调用 action 之前,是禁用了抢占的,所以 你这个干活的action,是不能休眠的,但有可能被硬件中断给抢占。
你在action这里面的时候,就应该像在中断环境一样,不能休眠这些。所以书上说 运行在中断上下文,应该就是这个意思,