1. 程式人生 > >深入分析_linux_spinlock_實現機制

深入分析_linux_spinlock_實現機制

  如果被保護的共享資源只在程序上下文訪問和軟中斷(包括tasklet、timer)上下文訪問,那麼當在程序上下文訪問共享資源時,可能被軟中斷打斷,從而可能進入軟中斷上下文來對被保護的共享資源訪問,因此對於這種情況,對共享資源的訪問必須使用spin_lock_bh和spin_unlock_bh來保護。當然使用spin_lock_irq和spin_unlock_irq以及spin_lock_irqsave和spin_unlock_irqrestore也可以,它們失效了本地硬中斷,失效硬中斷隱式地也失效了軟中斷。但是使用spin_lock_bh和spin_unlock_bh是最恰當的,它比其他兩個快。