[发明专利]硬件中断的处理方法和装置有效
申请号: | 201710103980.1 | 申请日: | 2017-02-24 |
公开(公告)号: | CN108509255B | 公开(公告)日: | 2021-01-22 |
发明(设计)人: | 高巨鑫;李雪峰;高翔 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 中断 处理 方法 装置 | ||
本发明实施例提供一种硬件中断的处理方法和装置,应用于MIPS架构,方法包括:接收预设硬件中断接口的硬件中断触发信号;判断硬件中断触发信号对应的硬件中断是否为定时器触发的中断;如果是,将PMU中采样的数据从LINUX内核空间映射到用户空间。本发明实施例在PMC溢出无法触发中断时,确保用户空间的Perf能够继续监控指定硬件性能事件,有效提高了系统可靠性和用户体验。
技术领域
本发明涉及LINUX系统技术领域,特别是涉及一种硬件中断的处理方法和一种硬件中断的处理装置。
背景技术
Perf(Performance Event,性能事件)是内置于LINUX内核源码树中的性能剖析工具。Perf基于事件采样原理,以性能事件为基础,能实现针对处理器相关性能指标与操作系统相关性能指标的性能剖析。实际应用中,Perf可用于对处理器、操作系统进行性能瓶颈查找和热点代码定位。
现有技术中,Perf对硬件性能事件进行监控的原理如下:Perf通过LINUX系统调用sys_perf_event_open函数,进而在LINUX内核中注册一个监测指定硬件性能事件的性能计数器,LINUX内核根据Perf提供的指定硬件性能事件的参数信息在PMU(PerformanceMonitoring Unit,性能监控单元)上初始化一个PMC(Performance Monitoring Counter,硬件性能计数器)。PMC随着指定硬件性能事件的发生而自动累加。在PMC溢出时,复位PMC,PMU触发一个PMI(Performance MonitoringInterrupt,性能监控中断)中断。LINUX内核通过PMI中断对应的处理函数对PMU的采样数据进行处理,并将处理后的采样数据放入RingBuffer(缓存),Ring Buffer用于与用户空间进行通信。用户空间里的perf分析程序采用mmap(将一个文件或者其它对象映射进内存)机制从Ring Buffer中读取采样数据,并对采样数据进行解析,并将解析后的结果显示在应用层Perf界面。
上述Perf对硬件性能事件进行监控的原理存在以下缺陷:当LINUX系统中PMC溢出无法触发中断时,应用层Perf界面将无监控信息显示,导致用户空间的Perf无法监控指定硬件性能事件。
发明内容
鉴于上述问题,本发明实施例的目的在于提供一种硬件中断的处理方法和一种硬件中断的处理装置,以解决现有技术中当LINUX系统中PMC溢出无法触发中断时,用户无法监控指定硬件性能事件的问题。
为了解决上述问题,本发明实施例公开了一种硬件中断的处理方法,应用于MIPS架构(Microprocessor without interlocked piped stages architecture,一种采取精简指令集的处理器架构),包括以下步骤:接收预设硬件中断接口的硬件中断触发信号;判断所述硬件中断触发信号对应的硬件中断是否为定时器触发的中断;如果是,将PMU中采样的数据从LINUX内核空间映射到用户空间。
为了解决上述问题,本发明实施例还公开了一种硬件中断的处理装置,应用于MIPS架构,包括:信号接收模块,用于接收预设硬件中断接口的硬件中断触发信号;判断模块,用于判断所述硬件中断触发信号对应的硬件中断是否为定时器触发的中断;中断模块,用于当判断所述硬件中断触发信号对应的硬件中断为定时器触发的中断时,将PMU中采样的数据从LINUX内核空间映射到用户空间。
本发明实施例包括以下优点:在PMC溢出无法触发中断的情况下,若接收到预设硬件中断接口的硬件中断触发信号,则判断所述硬件中断触发信号对应的硬件中断是否为定时器触发的中断,如果是,将PMU中采样的数据从LINUX内核空间映射到用户空间。这样,在PMC溢出无法触发中断时,实现定时器中断代替PMC溢出触发中断,确保用户空间的Perf仍然可以获得待监控硬件性能事件的采样数据,继而应用层Perf界面可以显示采样数据,即实现了用户空间的Perf可以继续监控指定硬件性能事件,有效提高了系统可靠性和用户体验。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710103980.1/2.html,转载请声明来源钻瓜专利网。