在调用中断处理程序之前,CPU 是否禁用了本地 CPU 上的所有中断?
或者它是否只禁用正在服务的特定中断线?
最佳答案
x86 在跳转到中断向量之前禁用所有本地中断(当然 NMI 除外)。 Linux 通常会屏蔽特定的中断并重新启用其余的中断(未屏蔽),除非将特定标志传递给中断处理程序注册。
请注意,虽然这意味着您的中断处理程序不会在同一个 CPU 上与自身竞争,但它可以并且将会与在 SMP/SMT 系统中的其他 CPU 上运行的自身竞争。
关于linux-kernel - 一个中断处理程序可以被同一个中断处理程序抢占吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11403915/