[发明专利]页表缓存优化方法和页表更新方法在审
申请号: | 202111628782.X | 申请日: | 2021-12-28 |
公开(公告)号: | CN114510441A | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 张超 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F12/1027 | 分类号: | G06F12/1027;G06F12/1009 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 优化 方法 更新 | ||
公开了一种页表缓存优化方法、页表更新方法及装置。在物理机上创建模块之前,获取模块的属性信息和/或当前可用的页表缓存资源。属性信息是与模块对页表缓存的需求程度相关的信息。针对模块配置第一页面尺寸的页表缓存,第一页面尺寸是基于属性信息和/或页表缓存资源设置的。由此能够在充分考虑模块特性和系统可用资源的情况下,实现对物理机上创建的模块的页表缓存的均衡分配。
技术领域
本公开涉及信息技术领域,特别是涉及一种页表缓存优化方法和页表更新方法。
背景技术
传统的MMU(Memory Management Unit,内存管理单元)是将CPU访问的虚拟地址转化成实际的物理地址。IOMMU(Input/Output Memory Management Unit)则是把设备(device)访问的虚拟机的虚拟地址转化成物理地址。
在直通设备的虚拟化中,通过IOMMU可以实现设备虚拟地址(IOVA)到真实物理地址(HPA)之间的映射。这个映射关系是保存在系统的IOMMU页表中的。与传统的MMU页表一样,IOMMU页表也是由多个级别页表组成,通过逐级查IOMMU页表可以得到IOVA到HPA的映射关系。
为了提高查表效率,与MMUTLB类似,IOMMU侧也引入了IOMMU TLB来减少查表的次数,从而提高系统的IO性能。
无论是MMU TLB,还是IOMMU TLB,由于TLB缓存空间有限,TLB缓存的只是页表中的部分页表项。如果要查询的地址不在TLB缓存的页表项中,那么将会导致TLB miss,即TLB查询失败。TLB查询失败的代价相对较高。
因此,需要一种能够降低TLBmiss的TLB优化方案。
发明内容
本公开要解决的一个技术问题是提供一种能够降低TLBmiss的TLB优化方案。
根据本公开的第一个方面,提供了一种页表缓存优化方法,包括:在物理机上创建模块之前,获取模块的属性信息和/或当前可用的页表缓存资源,属性信息是与模块对页表缓存的需求程度相关的信息;针对模块配置第一页面尺寸的页表,第一页面尺寸是基于属性信息和/或页表缓存资源设置的。
可选地,属性信息包括优先级和/或内存规格。
可选地,第一页面尺寸的大小与模块的优先级和/或内存规格正相关。
可选地,模块的虚拟地址空间被划分为多个页,页的页面尺寸与第一页面尺寸相同,该方法还包括:生成对应于模块的位图,位图中的每个位对应多个页中的一个页;在模块运行过程中记录预定时长范围内针对模块的虚拟地址空间发起的地址访问操作所访问的虚拟地址所对应的页;对位图中与记录的页对应的位进行置位;根据位图中位的置位情况,评估页表缓存的性能。
可选地,该方法还包括:基于评估结果将第一页面尺寸调整为第二页面尺寸。
可选地,该方法还包括:根据第二页面尺寸,重新确定页表的页表级数;基于重新确定的页表级数,重新生成对应于模块的页表。
可选地,模块为虚拟机,地址访问操作是由直通虚拟机的设备发起的,虚拟机运行在虚拟化程序中,该方法还包括:创建新的虚拟化程序;停止虚拟机的运行以及直通虚拟机的设备的运行;根据第二页面尺寸,重新确定页表的页表级数;在新的虚拟化程序中按照重新确定的页表级数生成对应于模块的页表;将旧虚拟化程序的内存重新映射到新的虚拟化程序;恢复虚拟机的运行以及直通虚拟机的设备的运行。
根据本公开的第二个方面,提供了一种页表更新方法,包括:在物理机上创建的模块的运行过程中,评估模块的页表缓存的性能;基于评估结果确定是否需要调整模块的页表中页的页面尺寸。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111628782.X/2.html,转载请声明来源钻瓜专利网。