当前位置:  技术问答>linux和unix

spin_lock_irqsave

    来源: 互联网  发布时间:2016-12-24

    本文导语:  ldd3中有这么一段话: spin_lock_irqsave disables interrupts (on the local processor only) before taking the spinlock; the previous interrupt state is stored in flags. If you are absolutely sure nothing else might have already disabled interrupts on...

ldd3中有这么一段话:
spin_lock_irqsave disables interrupts (on
the local processor only) before taking the spinlock; the previous interrupt state is
stored in flags. If you are absolutely sure nothing else might have already disabled
interrupts on your processor (or, in other words, you are sure that you should enable
interrupts when you release your spinlock), you can use spin_lock_irq instead and
not have to keep track of the flags. Finally, spin_lock_bh disables software interrupts
before taking the lock, but leaves hardware interrupts enabled.

我想知道什么时候用spin_lock_irqsave,什么时候用spin_lock_irq 

|
如果你的processor 在已经disabled interrupts 的情况下,再调用了.spin_lock_irqsave,那么,先前的状态会保存起来, 当你spin_unlock_irqsave 会返回先前状态.  如果先前是不可中断的,那它并不能使能中断.
  

|
一般情况下都用,spin_lock_irqsave()
那么什么情况下用spin_lock_irq()?就是一开始的时候,你的系统中断都是使能的,这时候可以用spin_lock_irq()/spin_unlock_irq()。

为了避免混淆,最好就用spin_lock_irqsave()

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3