在 ARM 平台的 linux 内核实现中,tasklet 中的延迟工作被添加到 percpu vec|vec_hi 列表中。
- 现在,当从 ISR 执行返回时,它会处理 softirq 和 tasklet 中的延迟工作。
- 现在可以在启用 IRQ 的中断上下文中处理此延迟工作,或者有可以在进程上下文中处理它的 ksoftirq 线程。
- 相同的 tasklet 将在相同的 CPU 上执行,因为 ksoftirq 线程是 percpu。
- 我一直在很多书中看到,例如LDD,Robert Love的书,它声称不能同时在两个核心上执行同一个tasklet?
如何?有人可以帮我解决这个问题...如果是这样,我错过了什么?