Har*_*man 6 linux-device-driver linux-kernel
在调用中断处理程序之前,CPU是否禁用本地CPU上的所有中断?或者它是否只禁用正在服务的特定中断线?
x86 在跳转到中断向量之前禁用所有本地中断(当然 NMI 除外)。Linux 通常会屏蔽特定中断并重新启用其余中断(未屏蔽的中断),除非将特定标志传递给中断处理程序注册。
请注意,虽然这意味着您的中断处理程序不会与同一 CPU 上的自身竞争,但它可以并且将会与在 SMP/SMT 系统中的其他 CPU 上运行的自身竞争。