softirq和tasklet都是下半部机制。不允许睡眠,因为它们在中断上下文而不是进程上下文下运行。如果允许睡眠,那么linux无法调度它们,并最终导致dequeue_task错误的内核崩溃。中断上下文甚至没有描述寄存器信息的数据结构,因此Linux绝对不能调度它们。如果将其设计为具有该结构并可以对其进行调度,则将影响中断处理过程的性能。

softirq和tasklet都是下半部机制。不允许睡眠,因为它们在中断上下文而不是进程上下文下运行。如果允许睡眠,那么linux无法调度它们,并最终导致dequeue_task错误的内核崩溃。中断上下文甚至没有描述寄存器信息的数据结构,因此Linux绝对不能调度它们。如果将其设计为具有该结构并可以对其进行调度,则将影响中断处理过程的性能。