有人问过类似的问题:
How does Kernel handle the lock in process context when an interrupt comes?
但是目前还不清楚,当Interrupt进入一个CPU并且进程正在同一个CPU上执行并且保持了自旋锁。可以中断抢占持有自旋锁的进程。 ?应该是因为我们有spin_lock_irq来禁用中断。
这意味着,当禁用内核抢占并且中断到来时,中断可以抢占进程并开始正确执行吗?
任何人都可以澄清这一点。我想我在这里缺少一点。
由于 Gururaj
答案 0 :(得分:0)
是的,中断将抢占您的锁保持代码。
处理中断并跳转到IDT中的中断向量的CPU硬件不知道或不在乎正在运行什么代码或拥有什么锁。它将抢占一切,甚至其他中断处理程序。