Linux kernel ksoftirqd';中断或进程上下文中的下半部分是什么?

Linux kernel ksoftirqd';中断或进程上下文中的下半部分是什么?,linux-kernel,interrupt-handling,Linux Kernel,Interrupt Handling,我一直在认真阅读罗伯特·洛夫写的《Linux内核开发》一书 据我所知,softirq和tasklet是在中断上下文中运行的。另外,ksoftirqd是在进程上下文中运行的内核线程。因此,我发现如何使用ksoftirqd(进程上下文)来运行软irq(中断上下文)是一件非常令人费解和困难的事情。我在读这本书时也有类似的问题,这里有一个链接可以澄清一些事情: ksoftirqd被实现为一组线程,每个线程都是 限制为仅在特定CPU上运行。它们被调度(在 非常高的优先级)的任务调度程序。此实现 其优点是执

我一直在认真阅读罗伯特·洛夫写的《Linux内核开发》一书


据我所知,softirq和tasklet是在中断上下文中运行的。另外,ksoftirqd是在进程上下文中运行的内核线程。因此,我发现如何使用ksoftirqd(进程上下文)来运行软irq(中断上下文)是一件非常令人费解和困难的事情。

我在读这本书时也有类似的问题,这里有一个链接可以澄清一些事情:

ksoftirqd被实现为一组线程,每个线程都是 限制为仅在特定CPU上运行。它们被调度(在 非常高的优先级)的任务调度程序。此实现 其优点是执行下半部分所花费的时间 已计入系统任务。因此,用户可以看到 机器因中断处理而过载,可能 采取补救措施

虽然这项工作现在是在流程上下文中完成的,而不是 在下半部分上下文中,ksoftirqd设置的环境与 在下半部分上下文中找到的。具体来说,它执行 启用本地中断和下半部分的softirq处理程序 本地禁用。作为下半部分运行的代码不需要 更改ksoftirqd以运行它。”


@harmic的可能副本该问题对于
ksoftirqd
的上下文没有答案。