linux - Tasklet 如何工作?

标签 linux

在处理tasklet时,中断是否被禁用,因为它们应该在中断上下文中运行。如果在处理tasklet时中断,那么将它们称为下半部分机制有什么意义,因为它与禁用中断的顶部情况相同。 或者,tasklet 是否仅在多处理器系统上有用,其中中断在一个处理器上生成,而相应的 tasklet 被调度到另一个处理器上,当 tasklet 运行时,中断在另一个处理器上被禁用。 请澄清。

最佳答案

Linux 将中断处理分为两部分:

  • 首先,以尽可能简单的方式处理中断请求 (IRQ),尽可能少地执行操作,并调度一个 softirq/tasklet 来执行较繁重的处理部分。
  • 然后,软中断/tasklet 被调度,繁重的处理开始。

Linux 中的上下文是:

  • NMI 上下文
  • hardirq context:上面中断处理的第一部分。
  • 软中断上下文:上面中断处理的第二部分。

  • 中断上下文:以上任何一个。

  • 进程/用户上下文:代表进程运行,例如:由于系统调用。与中断上下文相反。

  • 原子上下文:中断上下文,或者在必须是原子的(不能被中断)的代码段中的进程上下文中,例如:因为我们采用了自旋锁。

运行小线程时不会禁用中断。同一tasklet的进一步调用是。

关于linux - Tasklet 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12437291/

相关文章:

linux - 在 shell 中打印非 ascii/unicode 字符

mysql - 使用元素将xml加载到mysql表中

c++ - Oracle OCI C++ 库

linux - 寻找一个 bash 脚本来在 linux 服务器上运行具有不同输入的程序

linux - 杀死Linux中的进程

linux - 文件大于目录的平均大小?

linux - 如何从主内存/RAM 中删除数据

c - 32位浮点除法并没有我想象的那么慢

linux - 在不同目录中执行脚本而不必使用完整路径

用于检查文件何时重命名的 Linux/Unix 命令