如果在进程上下文中保留了自旋锁。如果在中断上下文中需要相同的自旋锁,会发生什么?
中断处理程序是等到进程释放自旋锁,还是中断处理程序会在另一个处理器上调度它?正如stackoverflow中的以下线程所述。
但问题仍然是一样的,中断处理程序会等待自旋锁释放吗?不是吗?
答案 0 :(得分:2)
如果在进程上下文中保留了自旋锁。如果发生什么会发生什么 在中断上下文中需要相同的自旋锁吗?
简而言之,这是一个糟糕的设计,将导致僵局。这就是为什么有API spin_lock_irq
/ spin_lock_irqsave
在获取此类锁之前禁用中断并避免此类争用的原因。