如果两个或多个CPU(内核)中发生相同的中断,该如何处理?

时间:2019-05-16 16:39:54

标签: linux-kernel interrupt

这实际上是我在网上找到的面试问题,但是通过谷歌搜索还找不到一个好的答案。

我的理解是:

  1. 仅当为一个以上cpu的组启用了对中断的IRQ亲和力时,才会发生这种情况;否则,当已经在其中处理了一个中断时,将在单个cpu的硬件中禁用相同的中断线。上半部分(中断处理程序)。

  2. 如果启用了IRQ亲缘关系(例如,一组超过2个cpus /内核)(例如core1和core2),则当core1在上半部分处理中断(中断处理程序)时,其中断线为此中断被禁用。当设备触发相同的中断时,core2可以接收该中断,但不会进入中断处理程序,因为Linux不会在同一中断上重新输入中断处理程序。

所以答案是,即使在多个CPU情况下,Linux一次也只能处理一个相同的中断...我对这个结论是否正确?

0 个答案:

没有答案