[发明专利]一种访问PCIe设备的优化的方法和设备有效
申请号: | 201911198190.1 | 申请日: | 2019-11-29 |
公开(公告)号: | CN110928827B | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 王洋 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42;G06F9/50 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 杨帆 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 访问 pcie 设备 优化 方法 | ||
本发明提供了一种访问PCIe设备的优化的方法和设备,该方法包括以下步骤:将访问PCIE设备的超时时间调整为第一阈值;记录当前任务访问PCIE设备的持续时间;响应于持续时间超过二分之一第一阈值,停止记录持续时间并使当前任务重新访问PCIE设备,记录重新访问的第一持续时间;响应于持续时间与第一持续时间的总和大于第一阈值,停止当前任务的访问以让出处理器资源;响应于下一轮次任务处理,使当前任务重新访问PCIE设备,并返回重新记录当前任务访问PCIE设备的持续时间,直到当前任务访问成功。通过使用本发明的方法,能够保证软件任务访问不会超时,进而不会长期占用CPU而影响其他任务的运行。
技术领域
本领域涉及计算机领域,并且更具体地涉及一种访问PCIe设备的优化的方法和设备。
背景技术
PCIE协议提供多种不同类型的访问请求,比如memory read/write(存储器读/写)以及configuration read/write(配置读/写)等,针对memory read请求类型来说,假如目标设备被移除或者设备系统运行异常会导致memory read请求阻塞至PCIE completiontimeout(完成超时),对于时间约束比较强的应用场景,该机制会导致系统软件运行异常、响应延迟,甚至导致系统的崩溃。
发明内容
有鉴于此,本发明实施例的目的在于提出一种访问PCIe设备的优化的方法,能够保证软件任务访问不会超时,进而不会长期占用CPU而影响其他任务的运行。
基于上述目的,本发明的实施例的一个方面提供了一种访问PCIe设备的优化的方法,包括以下步骤:
将访问PCIE设备的超时时间调整为第一阈值;
记录当前任务访问PCIE设备的持续时间;
响应于持续时间超过二分之一第一阈值,停止记录持续时间并使当前任务重新访问PCIE设备,记录重新访问的第一持续时间;
响应于持续时间与第一持续时间的总和大于第一阈值,停止当前任务的访问以让出处理器资源;
响应于进入下一轮次任务处理,使当前任务重新访问PCIE设备,并返回重新记录当前任务访问PCIE设备的持续时间,直到当前任务访问成功。
根据本发明的一个实施例,第一阈值包括50um至50ms。
根据本发明的一个实施例,当前任务访问PCIE设备包括:对PCIE设备进行读操作和写操作。
根据本发明的一个实施例,将访问PCIE设备的超时时间调整为第一阈值包括:系统启动后进入BIOS可视化配置界面时手动将超时时间调整为第一阈值或将第一阈值写入BIOS软件。
根据本发明的一个实施例,停止当前任务的访问包括:使用schedule()函数主动触发任务调度,使当前任务退出运行。
本发明的实施例的另一个方面,还提供了一种访问PCIe设备的优化的设备,其特征在于,设备包括:
至少一个处理器;和
存储器,存储器存储有处理器可运行的程序代码,程序代码在被处理器运行时执行以下步骤:
将访问PCIE设备的超时时间调整为第一阈值;
记录当前任务访问PCIE设备的持续时间;
响应于持续时间超过二分之一第一阈值,停止记录持续时间并使当前任务重新访问PCIE设备,记录重新访问的第一持续时间;
响应于持续时间与第一持续时间的总和大于第一阈值,停止当前任务的访问以让出处理器资源;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911198190.1/2.html,转载请声明来源钻瓜专利网。