社区
驱动程序开发区
帖子详情
Linux设备驱动中自旋锁的一个问题
yuan_xin_
2019-03-23 04:50:33
书上说,如果某个获得锁的函数A要调用其他同样试图获取这个锁的函数B,代码就会死锁。 是因为函数B想获得这个锁,但是没有获得,而进入自旋,函数A却调用了函数B,由于函数B处于自旋状态,返回不了函数A导致这个锁一直得不到释放,才会死锁的吗? 望各路大神解答!!!
...全文
817
3
打赏
收藏
Linux设备驱动中自旋锁的一个问题
书上说,如果某个获得锁的函数A要调用其他同样试图获取这个锁的函数B,代码就会死锁。 是因为函数B想获得这个锁,但是没有获得,而进入自旋,函数A却调用了函数B,由于函数B处于自旋状态,返回不了函数A导致这个锁一直得不到释放,才会死锁的吗? 望各路大神解答!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
一块冬瓜
2019-04-30
打赏
举报
回复
是的,自旋锁的获取过程可以简单的理解成while(!flag), 因为函数A获取了锁,相当于flag为0了,函数B获取锁就相当于是while(1),卡住程序运行,函数A一直无法释放锁,此时程序进入一个死锁状态。
jiamianshiye
2019-04-01
打赏
举报
回复
是的,这种情况一般都是进行了递归调用获取自旋锁的操作。
哈哈哈哈2018
2019-03-27
打赏
举报
回复
是的,由于A获取了锁,但是在调用B时一直处于自旋状态,导致A获取的锁无法释放,此时便处于死锁状态
linux
设备
驱动
自旋锁
思维导图
总结了
linux
设备
驱动
自旋锁
部分的思维导图
linux
设备
驱动
详解(宋宝华 高清 非影印版)
字符
设备
、块
设备
、TTY
设备
、IC
设备
、LCD
设备
、音频
设备
、USB
设备
、网络
设备
、PCI
设备
等
Linux
设备
驱动
的架构和框架
中
各个复杂数据架构和函数的关系,并讲解了
Linux
驱动
开发的大量实例,使读者能够独立开发各类
Linux
...
《
Linux
设备
驱动
开发详解》第一版第一次印刷勘误
字符
设备
、块
设备
、TTY
设备
、IC
设备
、LCD
设备
、音频
设备
、USB
设备
、网络
设备
、PCI
设备
等
Linux
设备
驱动
的架构和框架
中
各个复杂数据架构和函数的关系,并讲解了
Linux
驱动
开发的大量实例,使读者能够独立开发各类
Linux
...
Linux
设备
驱动
程序开发详解
字符
设备
、块
设备
、TTY
设备
、I2C
设备
、LCD
设备
、音频
设备
、USB
设备
、网络
设备
、PCI
设备
等
Linux
设备
驱动
的架构和框架
中
各个复杂数据架构和函数的关系,并讲解了
Linux
驱动
开发的大量实例,使读者能够独立开发各类
Linux
...
zynq的
linux
驱动
6-使用
自旋锁
实现竞争保护
zynq的
linux
驱动
6-使用
自旋锁
实现竞争保护
驱动程序开发区
1,318
社区成员
2,173
社区内容
发帖
与我相关
我的任务
驱动程序开发区
主要是开发驱动技术
复制链接
扫一扫
分享
社区描述
主要是开发驱动技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章