免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3999 | 回复: 14
打印 上一主题 下一主题

[内核入门] 进程上下文的local_irq_disable不能让内核挂起? [复制链接]

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-09 13:21 |只看该作者 |倒序浏览

论坛徽章:
0
2 [报告]
发表于 2012-11-09 15:08 |只看该作者
local_irq_disable 一般只是将cpu的irq 关掉。关掉cpu的中断,会影响到process 的调度(preempt),如果在irq disable的过程中,触发shedule,smalloc大侠是否是说在这种情况下,内核是否会挂起?

论坛徽章:
0
3 [报告]
发表于 2012-11-09 15:11 |只看该作者
回复 2# George_lz


    具体没看,但应该不会挂起

论坛徽章:
1
水瓶座
日期:2013-09-28 21:40:25
4 [报告]
发表于 2012-11-09 15:37 |只看该作者
是啊,local_irq_disable是关中断用的,何谓“让内核挂起”?

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
5 [报告]
发表于 2012-11-10 10:54 |只看该作者
大侠不敢当。基本忘记完了。
只想关闭中断,然后在让内核故障到串口控制台无反应,进程不工作。
看来仅仅在进程上下文关中断不可能做到。如果是系统调用进入的内核态,即使关闭中断,也会返回用户空间后一切恢复正常。

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:17
6 [报告]
发表于 2012-11-12 11:39 |只看该作者
local_irq_disable() + while(1);

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
7 [报告]
发表于 2012-11-12 12:56 |只看该作者
曾经见过疑问问题,list的操作中for_each_entry()
如果不用safe,好象在删除节点的时候也会出现上述现象,看来是删除就进入了死循环。
我在进程上下文,不关中断和半底的情况下试过while(1),发现无线网络输出正常,输入有问题。和串口也同样只能打印信息,而不能输入。

简单总结下。我们通常说的死锁在内核只能出现在进程的睡眠锁中,和多核下的递归自旋锁中。而前者明显不会影响在其他内核功能。后者看递归的位置。
也就是单核中,任何形式的死锁不会导致串口卡死的情况。

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:17
8 [报告]
发表于 2012-11-13 10:38 |只看该作者
楼上你在说什么呀大哥?

论坛徽章:
0
9 [报告]
发表于 2012-11-13 10:54 |只看该作者
说实话,楼主的帖子,读起来太费劲了。
串口控制台无反应,和死锁没有什么关系,楼主的帖子容易误导初学者。
串口没有反应,说明shell无法得到调度。系统出现了某种异常。。。

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
10 [报告]
发表于 2012-11-13 11:00 |只看该作者
本帖最后由 smalloc 于 2012-11-13 11:01 编辑

有几个错字,不好意思
具体见这帖。
http://bbs.chinaunix.net/thread-3888665-1-1.html

串口控制台无反应,和死锁没有什么关系,我就是要说这个问题,这好象是一个流传很广的谬误。我拿自己遇到问题,把这个说清楚。

PS:我现在也是初学者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP