免费注册 查看新帖 |

Chinaunix

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

请教一个spin_lock问题 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2011-05-23 15:36 |显示全部楼层
我想这是个处理优先级的问题,是应该先处理中断呢?还是处理其他其他内核代码(包括spinlock中的代码)?一般而言是应该先处理中断的。另外某些中断被禁止可能引发副作用,比如内核时钟中断,jiffies是以该中断来计数的

论坛徽章:
0
2 [报告]
发表于 2011-05-26 09:14 |显示全部楼层
同意楼上,除了防止死锁外,spin lock不能睡眠的原因还有一个,在中断处理程序中使用spinlock保护数据时,由于在中断上下文而不能进行调度(调度指用一个task替换另外一个task),中断上下文中的current所代表的task是不能代替该中断上下文的。

论坛徽章:
0
3 [报告]
发表于 2011-05-30 11:37 |显示全部楼层
呵呵,在单cpu非强占内核上spinlock啥事不干,在单cpu强占内核上仅仅是禁止抢占而已,只有在多cpu上才会spin,说它是用来对付smp也大致没错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP