[发明专利]一种计算机设备、异常处理的方法以及中断处理的方法在审
申请号: | 202010839905.3 | 申请日: | 2020-08-19 |
公开(公告)号: | CN114077379A | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 蒋毅飞;万波;赵思齐;李明旺 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/455;G06F9/50;G06F12/02 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 李杭 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算机 设备 异常 处理 方法 以及 中断 | ||
本申请公开了一种计算机设备,在虚拟化I/O过程中,通过处理器中的重定向装置来实现同步处理过程中的特权级切换,实现从VM的虚拟化特权级直接切换到host的用户态,执行相应的异常处理。在异步处理过程中,通过处理器中的虚拟事件通知装置和中断控制器,不经过host的内核态就可以实现异步的中断请求传递。本申请无论是同步处理过程还是异步处理过程都减少了切换开销,提高了计算机设备的性能。
技术领域
本申请涉及计算机技术领域,具体涉及一种计算机设备、异常处理的方法以及中断处理的方法。
背景技术
在虚拟化系统中,实现输入/输出(input/output,I/O)虚拟化主要采用虚拟设备模拟方案。虚拟设备模拟方案根据对虚拟I/O的处理方式可分为同步处理和异步处理两种。
在同步处理过程中,虚拟机(virtual machine,VM)执行与虚拟I/O设备相关的操作,(如:对串口内存的读操作或写操作,或者对其他虚拟I/O设备的访问操作)会触发异常指令。VM向位于宿主机(host)的内核态的虚拟机监视器(virtual machine monitor,VMM)发送异常指令,由VMM将该异常指令传递到host的用户态,进而在host的用户态进行异常处理。处理完异常后,将处理结果从host的用户态传递到VMM,再从VMM传递到VM。该过程会出现了两次VM与VMM的切换开销,两次host内核与用户态的切换开销。
在异步处理过程中,VM执行对磁盘的内存或网卡的内存的读操作或写操作,会触发中断请求。该中断请求需要通过异步的方式通知远端处理器上的快速仿真器(quickemulator,Qemu)线程完成对该中断请求的处理。该远端处理器为不同于支撑该VM运行的本地处理器之外的另一处理器。在本地处理器,VM会触发异常指令,然后VM将该异常指令发送给host的内核态的VMM,然后VMM识别是用户态的异常指令,VMM会将该异常指令从host的内核态传递到host的用户态,接下来再从host的用户态触发系统调用进入host的内核态,然后在host的内核态触发中断请求,并向远端处理器传递该中断请求,远端处理器的Qemu线程需要将处于内核态的调度器唤醒,这个过程需要内核态到用户态的切换,然后再通过系统调用进入内核态才能实现磁盘等物理设备的访问。可见,异步处理的过程也需要频繁进行用户态与内核态的切换。
无论是同步处理过程,还是异步处理过程,都会产生多次切换开销,影响了I/O的性能。
发明内容
本申请实施例提供一种计算机设备、异常处理的方法以及中断处理的方法,用于减少切换开销,提高计算机设备的性能。本申请还提供了相应的装置、计算机可读存储介质、计算机程序产品等。
本申请第一方面提供一种计算机设备,该计算机设备包括硬件层,硬件层上运行有宿主机host,硬件层包括第一处理器、第一处理器上运行有虚拟机(virtual machine,VM),第一处理器包括重定向装置;第一处理器用于:获取VM触发的异常指令;重定向装置被配置为:从VM的虚拟化特权级切换到host的用户态;第一处理器还用于:在host的用户态下执行异常指令对应的异常处理函数。
该第一方面通过同步处理的方式实现了对VM触发的异常的处理。
需要说明的是,本申请实施例中的处理器可以是处理核,一个处理核一个时间段内支持一个VM运行。多个VM可以通过分时复用的方式使用同一个处理核。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010839905.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种纺织脱水装置
- 下一篇:电流感应金属船体部件