当前位置: 技术问答>linux和unix
linux中断raw_spin_lock自旋锁
来源: 互联网 发布时间:2017-04-19
本文导语: linux中断里面怎么可以用raw_spin_lock啊?不会死锁么 如果进程A里面获取了锁,在临界区运行,此时中断发生了,也通过raw_spin_lock获取锁,不会一直等待么?中断里面不能调度,不就停哪儿了? | 如果代码按你说...
linux中断里面怎么可以用raw_spin_lock啊?不会死锁么
如果进程A里面获取了锁,在临界区运行,此时中断发生了,也通过raw_spin_lock获取锁,不会一直等待么?中断里面不能调度,不就停哪儿了?
如果进程A里面获取了锁,在临界区运行,此时中断发生了,也通过raw_spin_lock获取锁,不会一直等待么?中断里面不能调度,不就停哪儿了?
|
如果代码按你说的这么写的话是会有问题,但是这本身属于不正确使用spin_lock的场景,如果进程上下文和中断上下文要互斥的话,在进程上下文需要使用关中断的spin_lock版本(如spin_lock_irqsave())。