如果在流程上下文中持有自旋锁。如果中断上下文中需要相同的自旋锁,会发生什么情况?
要么中断处理程序等待进程释放自旋锁,要么中断处理程序将它安排在另一个处理器上?如下面堆栈溢出中的线程所述。
但是问题仍然是一样的,中断处理程序将等待spinlock被释放?难到不是么?
发布于 2014-06-30 16:44:42
如果在流程上下文中持有自旋锁。如果中断上下文中需要相同的自旋锁,会发生什么情况?
简而言之,这是一个糟糕的设计,将导致死锁。这就是为什么会有API spin_lock_irq/spin_lock_irqsave在获取此类锁之前禁用中断,并避免这种争论。
https://stackoverflow.com/questions/24490413
复制相似问题