免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: adidiaos丶丶
打印 上一主题 下一主题

[内核同步] 我有一个问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2014-08-05 02:33 |只看该作者
本帖最后由 黎明748 于 2014-08-05 02:36 编辑

我觉得这里mutex_lock(&adb_mutex)主要是保护if(state),kfree(state)和 spin_lock_irqsave(&state->lock, flags)和spin_unlock_irqsave(&state->lock, flags);。这里操作file结构没有上锁,估计file结构之前也是已经获得锁了,没代码不清楚。spin就保护state结构。

论坛徽章:
1
lufei
日期:2016-06-17 17:49:16
12 [报告]
发表于 2014-08-05 11:15 |只看该作者
那什么情况下会出现你说的“只保证这里的if语句只有一个路径可以执行,并不保证其他路径不会访问state结构”。我是觉得他这种写法好像是mutex只保证state不会被NULL,但是不保证state里面的内容不被修改,所以需要另加spin。如果是这样我就不明白为什么mutex不能保证state内容不被修改呢?
黎明748 发表于 2014-08-05 02:23
mutex_lock(&adb_mutex);只保证这里的if语句只有一个路径可以执行,并不保证其他路径不会访问state结构,所 ...

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
13 [报告]
发表于 2014-08-05 11:25 |只看该作者
回复 12# adidiaos丶丶
看这段代码感觉是spin_lock中保护的资源有可能在中断上半部会被访问到

   

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
14 [报告]
发表于 2014-08-05 11:27 |只看该作者
具体的你找找代码,看自旋锁所保护的资源到底在内核的什么路径下会被访问

论坛徽章:
0
15 [报告]
发表于 2014-08-05 12:50 |只看该作者
mutex保护的是临界区,spin锁才是保护结构。mutex怎么能保护state结构回复 12# adidiaos丶丶


   

论坛徽章:
1
lufei
日期:2016-06-17 17:49:16
16 [报告]
发表于 2014-08-05 13:09 |只看该作者
恩,对头。回复 14# super皮波


   

论坛徽章:
1
lufei
日期:2016-06-17 17:49:16
17 [报告]
发表于 2014-08-05 13:12 |只看该作者
我再研究研究。。。
黎明748 发表于 2014-08-05 12:50
mutex保护的是临界区,spin锁才是保护结构。mutex怎么能保护state结构回复 12# adidiaos丶丶
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP