不仔细掰扯掰扯,你都想不出spin lock能牛逼到啥地步!

spin lock家族成员丰富,我认识的大概只有spin_lock、spin_lock_irq和spin_lock_irqsave,后两种的区别只在于会先将irq状态(daif)读出来,因此就算是我认识两把spin lock吧。

我们说,一个用互斥锁保护的临界资源死锁了,可能这临界资源相关的业务会hang掉(无论内核、用户态),因为虽然临界资源相关的线程会一个一个的block在死锁上,但是同内核的其他线程如果业务不相关,是不怎么不受影响的,但是spin lock如果死锁跟互斥锁的死锁会是一样效果吗?特别是spin_lock_irq(save)。

你可能感兴趣的:(不仔细掰扯掰扯,你都想不出spin lock能牛逼到啥地步!)