Linux内核spin_lock 要防止该锁在中断处理程序调用
来源:互联网 发布:unity3d 虚幻4 知乎 编辑:程序博客网 时间:2024/05/22 16:03
static inline void __raw_spin_lock(raw_spinlock_t *lock)
{
preempt_disable();
spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
LOCK_CONTENDED(lock, do_raw_spin_trylock, do_raw_spin_lock);
}
只关抢占。
static inline void __raw_spin_lock_irq(raw_spinlock_t *lock)
{
local_irq_disable();
preempt_disable();
spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
LOCK_CONTENDED(lock, do_raw_spin_trylock, do_raw_spin_lock);
}
关本地中断,并固安抢占。
在使用spin_lock时要明确知道该锁不会在中断处理程序中使用。
- Linux内核spin_lock 要防止该锁在中断处理程序调用
- linux内核-中断处理程序
- linux内核分析笔记----中断和中断处理程序
- linux内核分析笔记----中断和中断处理程序
- linux内核分析笔记----中断和中断处理程序
- LINUX内核设计思想之中断和中断处理程序
- linux内核分析--中断和中断处理程序
- linux内核学习----中断和中断处理程序
- linux内核分析笔记----中断和中断处理程序
- linux内核分析笔记----中断和中断处理程序
- Linux内核之 中断以及中断处理程序
- linux内核spin_lock分析
- linux内核spin_lock分析
- Linux内核-spin_lock()
- Linux内核中断处理
- linux内核中断处理
- 中断调用处理程序
- 内核自旋锁spin_lock
- Clojure 学习入门(16)—— 正则表达式
- 用C#制作图像处理软件及其原理
- 如何清理AWR数据
- 常用收藏网站
- Struts2的注解功能
- Linux内核spin_lock 要防止该锁在中断处理程序调用
- Android server启动过程源代码分析
- Linux命令之定位与查找
- 为RMI实现类Jini的发现机制
- Silverlight利用Application_Startup获取web项目中的初始化参数
- WPF支持OneWay,TwoWay,OneTime,Default和OneWayToSource
- android TextView 垂直自动滚动字幕实现
- 个人总结Android面试题目之二
- 自定义navigationBar上的按钮