softirq | tasklet | 工作队列 | |
---|---|---|---|
执行上下文 | 延后的工作运行于中断上下文 | 延后的工作运行于中断上下文 | 延后的工作运行于进程上下文 |
可重用 | 可以在不同的CPU上同时运行 | 不能在不同的CPU上同时运行,但是不同的CPU可以在运行不同的tasklet | 可以在不同的CPU上同时运行 |
睡眠 | 不能睡眠 | 不能睡眠 | 可以睡眠 |
抢占 | 不能抢占/调度 | 不能抢占/调度 | 可以抢占/调度 |
易用性 | 不容易使用 | 容易使用 | 容易使用 |
何时使用 | 如果延后的工作不会睡眠,而且有严格的可扩展性或速度要求 | 如果延后的工作不会睡眠 | 如果延后的工作会睡眠 |