1

我对tasklet的了解:

  1. Tasklet 在启用所有中断的情况下运行。
  2. tasklet 在中断上下文中运行。
  3. 不可能是睡觉。
  4. 它以原子方式运行。
  5. 它有保证不会迟于下一个滴答声。

我的问题:

  1. 由于在下半部分启用了所有中断,如果一个小任务正在运行并且在任何中断之间会发生什么。(如果在 tasklet 执行期间中断被禁用,那么 tasklet 有什么好处)?
  2. 为什么要保证 tasklet 总是被安排到下一个时钟周期?
  3. 说tasklet是优先级为0(Hi priority tasklet)和优先级为6(Normal taslet)的softirq是否正确?
4

1 回答 1

1
*Since in bottom half all interrupts are enabled, what happened If a tasklet is running and in between any interrupt comes. (If interrupts are disabled during tasklet execution then what is the benefit of tasklet)?*

据我了解,Tasklet(基于软 IRQ 构建)在软 IRQ 上下文中运行,这本质上意味着它在进程被硬 IRQ 中断时运行的任何进程的上下文中运行(因此它正在借用堆栈),所以再次中断将返回到 tasklet 执行。

*Is it correct to say that tasklets are softirq with priority level 0(Hi priority tasklet) and priority level 6(Normal taslet)?*

是的,tasklet 本质上是基于 Soft IRQ 的包装器。

于 2014-08-26T00:54:01.037 回答