免费注册 查看新帖 |

Chinaunix

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

[中断] 关中断时间过长会丢失中断? [复制链接]

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-31 15:07 |只看该作者 |倒序浏览
本帖最后由 zylthinking 于 2013-01-31 15:11 编辑

我怎么分析的结果是不会发生的啊;
只说 8259A, 因为只懂点这个;

中断来了,  IRQ 线边缘触发, ESR 如果是 reset 状态, 则锁存, 要么已经处于锁存状态; 最终结果就是无论如何, 这个信号不会丢失;
既然不会丢失, 则无论什么时候开启中断, 都会最终发送到 CPU, 最坏的结果不过是多个中断合并成一个而已, 而这个很显然不是问题; 还有点就是阻塞其他 IRQ 线中断的及时相应, 但无论如何, 这个是不会丢失中断的啊

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
2 [报告]
发表于 2013-01-31 22:32 |只看该作者
那不就是丢失了嘛。。所以中断关的不能太久

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
3 [报告]
发表于 2013-02-01 08:19 |只看该作者
回复 1# zylthinking
最坏的结果不过是多个中断合并成一个而已, 而这个很显然不是问题


对于某些中断来说,比如网卡中断合并的确可以认为不是问题;如果是时钟中断呢,这显然是一个问题(虽然内核能够很好的处理时钟中断丢失)。
   

论坛徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
4 [报告]
发表于 2013-02-01 09:18 |只看该作者
本帖最后由 linuxfellow 于 2013-02-01 09:19 编辑

回复 1# zylthinking

    中断时间太长, 失去的不紧紧可能是下一个中断, 主要是系统的实时性或快速响应能力。通常中断优先级较高, 中断时其他任务无法运行。假如系统里有5个事件需要在1ms里做出反应, 如果某个中断时间超过1ms,这5个事件的反应时限都有可能超出, 系统的实时性就无法保证。所以长时间的中断不可取。

论坛徽章:
0
5 [报告]
发表于 2013-02-01 12:09 |只看该作者
更何况,可能中断在执行了,相同的中断被屏蔽了,而丢失。

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
6 [报告]
发表于 2013-02-04 08:28 |只看该作者
回复 5# hwangmif
可能中断在执行了,相同的中断被屏蔽了,而丢失

不同的中断类型还是不同的。
边缘触发中断,不会屏蔽本中断,紧跟着的第二个中断可以不丢失(通过IRQ_PENDING实现);
电平触发中断需要屏蔽本中断,所以如果中断处理过长,会导致中断丢失。

   

论坛徽章:
0
7 [报告]
发表于 2013-02-04 09:32 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
8 [报告]
发表于 2016-07-20 09:53 |只看该作者
本帖最后由 mordorwww 于 2016-07-20 09:57 编辑
瀚海书香 发表于 2013-02-04 08:28
回复 5# hwangmif

不同的中断类型还是不同的。



感觉好奇怪,edge中断同一个硬件中断的多次中断信号还能缓存和排队么?能排2个以上么?

而且即便是level中断,如果实现ack了再处理中断的话,也能接收新的同类中断

再说了,如果中断的处理时延要求高的话,第一个中断完成前就来了第二个中断,第二个中断的处理时间上就晚了点,也许这个中断的处理已经没有意义了




不同的中断类型还是不同的。
边缘触发中断,不会屏蔽本中断,紧跟着的第二个中断可以不丢失(通过IRQ_PENDING实现);
电平触发中断需要屏蔽本中断,所以如果中断处理过长,会导致中断丢失。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP