System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机虚拟化。特别地,涉及一种虚拟机直通pcie(peripheral component interconnect express,一种高速串行通信互联标准)设备的dma(direct memory access,直接内存访问)中断配置方法、设备、电子产品和计算机可读存储介质。
技术介绍
1、云计算的发展加剧了虚拟化技术的发展。为提高设备资源利用率、降低成本、简化管理,计算机服务器应用领域发展出了设备虚拟化这一技术。设备虚拟化特指对计算机硬件中的设备进行虚拟化,可以将一台物理设备模拟出多个虚拟设备,每个虚拟设备都能够作为独立设备支持单独的操作系统。此外,为提高虚拟机或容器与虚拟设备交互时的性能,模拟出的虚拟设备能够将自身的物理地址直通到虚拟机,这种直接访问设备的方式可以提供更好的io性能。
2、目前直通设备在虚拟机中为实现pcie下的dma中断,使用的方案是开启viommu,viommu是通过在虚拟机中用软件模拟物理机iommu的dma和中断重映射功能。但是,以软件实现的viommu在一般应用场景中是不被默认开启的,而且开启后其性能开销高,并且延迟不能满足高实时性应用的要求,应用场景受到限制。
技术实现思路
1、本专利技术的目的在于解决虚拟设备直通到虚拟机存在软件模拟性能开销高,延迟不能满足高实时性要求的问题,以解决上述
技术介绍
中存在的问题。
2、为实现上述目的,第一方面,本专利技术提供了一种虚拟机直通pcie设备的dma中断配置方法,包括:
3、虚拟功能请求dma中断配置的步骤,该步骤中,安装于某虚拟机的vf驱动进行dma中断配置时,该虚拟机通过vf驱动来驱动其对应的pcie设备虚拟功能作为发送设备,将dma中断配置请求写入该pcie设备虚拟功能对应的物理寄存器组;而且,该虚拟机通过vf驱动来驱动其对应的pcie设备虚拟功能作为请求方,请求pcie设备物理功能提供pcie设备物理功能从物理机获取的dma中断配置;
4、物理功能获取dma中断配置的步骤;该步骤中,pcie设备物理功能读取对应于所述请求方的物理寄存器组得到dma中断配置请求,根据该dma中断配置请求从物理机读取所请求的dma中断配置,并将该dma中断配置写入对应于所述请求方的物理寄存器组中;
5、虚拟功能获取dma中断配置的步骤;该步骤中,在物理功能获取dma中断配置期间,pcie设备虚拟功能通过轮询方式查询其对应的物理寄存器组,若dma中断配置已完成写入,则读取写入的dma中断配置并写入pcie设备虚拟功能的dma中断配置寄存器;
6、其中,pcie设备支持i/o设备虚拟化并设置有一个或多个物理寄存器组,物理寄存器组与pcie设备虚拟功能一一对应,每个pcie设备虚拟功能仅能读写其对应的物理寄存器组,pcie设备物理功能读写所有物理寄存器组,所述物理机安装有pcie设备物理功能的pf驱动,并且基于pcie设备物理功能创建了一个或多个pcie设备虚拟功能;一个或多个虚拟机运行于所述物理机上,虚拟机借助vfio将对应于该虚拟机的pcie设备虚拟功能直通于该虚拟机,并安装对应于所述pcie设备虚拟功能的vf驱动。
7、本专利技术一些实施例中,所述虚拟功能请求dma中断配置的步骤中,虚拟机通过vf驱动来驱动其对应的pcie设备虚拟功能作为请求方,基于pcie的设备中断,请求pcie设备物理功能提供pcie设备物理功能从物理机获取的dma中断配置基于pcie设备的中断请求pcie设备物理功能提供pcie设备物理功能从物理机获取的dma中断配置。
8、本专利技术一些实施例中,所述pcie设备还包括处理器、中断寄存器、中断控制器;虚拟机通过vf驱动来驱动其对应的pcie设备虚拟功能作为请求方,写pcie设备中对应于所述请求方的中断寄存器,从而pcie设备中的中断控制器将中断转发给pcie设备中的处理器,由pcie设备中的处理器处理该中断,即由pcie设备中物理功能处理该中断即pcie设备的处理器将中断转发给pcie设备中的物理功能处理该中断,pcie设备中物理功能通过安装于物理机的pf驱动从物理机读取所请求的dma中断配置。
9、本专利技术一些实施例中,dma中断配置请求采用数据帧的方式,数据帧至少包括通信类型、数据长度、完成标志和数据内容,其中,通信类型用于表示该数据帧的通信类型,数据长度表示该数据帧数据内容部分的长度,完成标志在完成dma中断配置写入该数据帧数据内容部分后被置为表示完成的值,数据内容用于存储dma中断配置。
10、本专利技术一些实施例中,虚拟功能请求dma中断配置的步骤中,pcie设备物理功能将dma中断配置请求以数据帧的方式写入该pcie设备虚拟功能对应的物理寄存器组,其中,通信类型写入表示dma中断配置请求的数值,数据长度写入表述数据内容部分长度的数值,数据内容和完成标志为空值;
11、物理功能获取dma中断配置的步骤中,pcie设备物理功能将dma中断配置写入所述数据帧的数据内容部分后,将所述数据帧的完成标志置为表示完成的值;
12、虚拟功能获取dma中断配置的步骤中,pcie设备虚拟功能通过轮询方式查询存储于其对应的物理寄存器组中的数据帧中的完成标志,若完成标志等于表示完成的值,则将写入的dma中断配置写入pcie设备虚拟功能的dma中断配置寄存器。
13、本专利技术一些实施例中,所述dma中断配置是虚拟机所驱动的pcie设备虚拟功能的msix信息,包括msix目的地址和msix中断向量数据。
14、本专利技术一些实施例中,所述pcie设备是支持sr-iov技术的pcie设备。
15、第二方面,本专利技术提供了一种pcie设备,其中,
16、所述pcie设备支持i/o虚拟化并设置有一个或多个物理寄存器组;
17、物理寄存器组与pcie设备虚拟功能一一对应,每个pcie设备虚拟功能仅能读写其对应的物理寄存器组,pcie设备物理功能读写所有物理寄存器组。
18、第三方面,本专利技术提供了一种电子产品,包括:
19、至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的虚拟机直通pcie设备的dma中断配置方法。
20、第四方面,本专利技术提供了一种计算机可读存储介质,存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述的虚拟机直通pcie设备的dma中断配置方法。
21、本专利技术的有益效果如下:
22、本专利技术以pcie设备卡上设计的可共享给物理功能和虚拟功能多个物理寄存器组为基础,实现虚拟功能通过物理功能获取物理机为虚拟功能申请的dma中断配置,然后将dma中断配置配置给虚拟机中虚拟功能的dma中断配置寄存器,从而能够正确使用dma的功能。
23、本专利技术不用本文档来自技高网...
【技术保护点】
1.一种虚拟机直通PCIe设备的DMA中断配置方法,包括:
2.如权利要求1所述的虚拟机直通PCIe设备的DMA中断配置方法,其中,所述虚拟功能请求DMA中断配置的步骤中,虚拟机通过VF驱动来驱动其对应的PCIe设备虚拟功能作为请求方,基于PCIe的设备中断,请求PCIe设备物理功能提供PCIe设备物理功能从物理机获取的DMA中断配置。
3.如权利要求2所述的虚拟机直通PCIe设备的DMA中断配置方法,其中,
4.如权利要求1所述的虚拟机直通PCIe设备的DMA中断配置方法,其中,DMA中断配置请求采用数据帧的方式,数据帧至少包括通信类型、数据长度、完成标志和数据内容,其中,通信类型用于表示该数据帧的通信类型,数据长度表示该数据帧数据内容部分的长度,完成标志在完成DMA中断配置写入该数据帧数据内容部分后被置为表示完成的值,数据内容用于存储DMA中断配置。
5.如权利要求4所述的虚拟机直通PCIe设备的DMA中断配置方法,其中,
6.如权利要求1-5任一项所述的虚拟机直通PCIe设备的DMA中断配置方法,其中,
8.一种PCIe设备,其中,
9.一种电子产品,包括:
10.一种计算机可读存储介质,存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的虚拟机直通PCIe设备的DMA中断配置方法。
...【技术特征摘要】
1.一种虚拟机直通pcie设备的dma中断配置方法,包括:
2.如权利要求1所述的虚拟机直通pcie设备的dma中断配置方法,其中,所述虚拟功能请求dma中断配置的步骤中,虚拟机通过vf驱动来驱动其对应的pcie设备虚拟功能作为请求方,基于pcie的设备中断,请求pcie设备物理功能提供pcie设备物理功能从物理机获取的dma中断配置。
3.如权利要求2所述的虚拟机直通pcie设备的dma中断配置方法,其中,
4.如权利要求1所述的虚拟机直通pcie设备的dma中断配置方法,其中,dma中断配置请求采用数据帧的方式,数据帧至少包括通信类型、数据长度、完成标志和数据内容,其中,通信类型用于表示该数据帧的通信类型,数据长度表...
【专利技术属性】
技术研发人员:苟凌铭,程伟,
申请(专利权)人:芯原微电子成都有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。