Tasklets底部半调度

时间:2014-04-05 12:02:18

标签: linux-kernel linux-device-driver interrupt-handling

下半部分遵循哪种调度算法?如果一个下半部分正在执行中并且假设另一个更高优先级的下半部分在这种情况下会出现什么行为呢?

请考虑以上案例w.r.t到TASKLET

1 个答案:

答案 0 :(得分:1)

每个CPU都有预定(高优先级和普通)tasklet的队列。

当CPU即将从中断或系统调用返回用户空间时,它会检查已调度的tasklet并执行它们。 在tasklet完成后再次进行相同的检查。 (如果计划的tasklet太多,它们不是一次全部执行,而是移入内核线程ksoftirqd;但原则保持不变。)

因此,一个tasklet永远不会中断另一个tasklet,但是在任何预定的' normal'之前将执行一个高优先级的tasklet。微进程。