[发明专利]一种防止中断丢失的方法和中断控制器在审
| 申请号: | 202111102427.9 | 申请日: | 2021-09-19 |
| 公开(公告)号: | CN113986789A | 公开(公告)日: | 2022-01-28 |
| 发明(设计)人: | 李树青;王江;孙华锦 | 申请(专利权)人: | 山东云海国创云计算装备产业创新中心有限公司 |
| 主分类号: | G06F13/24 | 分类号: | G06F13/24;G06F9/48 |
| 代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;张涛 |
| 地址: | 250000 山东省济南市中国(山东)自由贸*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 防止 中断 丢失 方法 控制器 | ||
本发明提供了一种防止中断丢失的方法和中断控制器,该方法包括:检测系统中的事件,并判断检测到的事件是否满足预设条件;基于判断结果输出控制信号;基于控制信号控制中断聚合控制器中的输出结果。通过使用本发明的方案,能够避免中断丢失,同时也避免了对中断标志位、中断屏蔽位等特殊寄存器的访问,使中断控制器能被应用于对等设备控制等更多架构。
技术领域
本发明涉及计算机领域,并且更具体地涉及一种防止中断丢失的方法和中断控制器。
背景技术
中断聚合是中断控制器的一种高级特性,在很多标准协议,如NVMe协议,都有定义。也被广泛用于非标准的中断控制器。中断聚合特性没有统一的定义,聚合行为随协议的不同而有一定的差别,但一般来说,该特性指以下几个方面:1.当中断发生时,中断控制器并不立即上报中断,而是等待中断数量积攒超过一定阈值后再统一进行上报;2.为了使上述聚合行为的最大延时可控,一般还定义聚合的超时时间,当超时发生后,只要有未上报中断,无论数量多少中断控制器都将执行上报操作;3.部分中断聚合还需要考虑特殊事件,当某些特殊事件发生时,无论当前中断数量和等待时间是否超过阈值,控制器都立即上报,这是为了提高某些延时敏感型的事务的处理速度。
中断聚合特性的核心在于尽量减少发送中断的次数,在任何不应该发送中断的条件下尽量不发,因此它能有效降低CPU的处理负担,避免CPU由于被频繁打断从而带来额外开销过大,但同时却会带来在某些条件下中断丢失的问题。例如当中断数量超过聚合阈值后,中断控制器将发送一个中断给CPU,为了避免过多的中断,此时中断数量继续增加并不会触发额外的中断。
由于CPU到中断控制器之间的总线往往有较大的延迟,例如PCIe总线的延时可能高达数十微秒,因此当CPU最后一次查询中断被全部处理完成的过程中,可能产生新的中断导致数量或者特殊事件的条件持续满足中断聚合的条件。由于延时的存在,该中断实际发生的时间是在CPU退出中断处理程序之前,因此CPU一般不会感知到该中断。更为严重的是,由于CPU退中断时,控制器满足中断聚合的条件将导致后续即使发生新的中断,由于中断聚合控制被要求尽可能少的提交中断,在聚合条件持续满足的情况下,控制器不会提交新的中断,因此CPU将无法感知到新的中断。
传统的解决方法有2种,第一种是CPU在每次处理完中断后都读取中断标志,确定中断标志被清零后再退出中断。该方法最大的局限性在于中断聚合控制器内部运算复杂,中断标志无法直接被读取到,典型的如NVMe协议定义的中断标志则无法读取。此外,它同样无法保证由于延迟的存在,退中断时中断标志被重新置位的问题。第二种方法是每次在处理中断前,都将中断屏蔽位置位,即屏蔽该中断,然后在CPU“认为”处理完成后,在中断处理程序的最后关闭中断屏蔽位。如果此时由于延迟的影响,中断事件仍然存在,关闭中断屏蔽位一般会引发新的中断,因此CPU将会再次进入中断。该方法可以完全避免中断丢失的问题,但缺点也比较明显,即部分总线的中断屏蔽位并不能被所有设备访问,如PCIe总线的MSI中断的屏蔽位位于PCIe总线的配置空间,只有RC设备可以访问,在部分系统中实际管理设备的可能是对等的EP设备,该设备可以接收MSI中断,但无法访问屏蔽位。操作系统中自带的标准驱动,有很多是并不访问中断屏蔽位,如果依赖该机制,则需要随硬件分发自定义驱动,对于磁盘等标准硬件设备,这将给用户带来较差的体验。
发明内容
有鉴于此,本发明实施例的目的在于提出一种防止中断丢失的方法和中断控制器,通过使用本发明的技术方案,能够避免了对中断标志位和中断屏蔽位等特殊寄存器的访问,使中断控制器能被应用于对等设备控制等更多架构。
基于上述目的,本发明的实施例的一个方面提供了一种防止中断丢失的方法,包括以下步骤:
检测系统中的事件,并判断检测到的事件是否满足预设条件;
基于判断结果输出控制信号;
基于控制信号控制中断聚合控制器中的输出结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东云海国创云计算装备产业创新中心有限公司,未经山东云海国创云计算装备产业创新中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111102427.9/2.html,转载请声明来源钻瓜专利网。





