[发明专利]一种虚拟CPU的处理方法及装置在审
申请号: | 201810882095.2 | 申请日: | 2018-08-03 |
公开(公告)号: | CN110795231A | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 宋文俊 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 11644 北京清源汇知识产权代理事务所(特殊普通合伙) | 代理人: | 冯德魁;窦晓慧 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟CPU 次数条件 指令 功能失效 物理CPU 虚拟机 上移 自旋 申请 占用 中断 | ||
1.一种虚拟CPU的处理方法,其特征在于,包括:
确定虚拟CPU在同一个自旋循环中执行PAUSE指令的次数;
判断所述执行PAUSE指令的次数是否满足次数条件;
如果所述执行PAUSE指令的次数满足次数条件,则将所述虚拟CPU从所述虚拟CPU所占用的物理CPU资源上移除。
2.根据权利要求1所述的虚拟CPU的处理方法,其特征在于,所述确定虚拟CPU在同一个自旋循环中执行PAUSE指令的次数,包括:
判断准备执行的PAUSE指令对应的自旋循环是否为之前执行的PAUSE指令对应的自旋循环,如果是,则针对所述执行PAUSE指令的次数进行递增操作,否则,针对所述执行PAUSE指令的次数进行重新计数。
3.根据权利要求2所述的虚拟CPU的处理方法,其特征在于,所述判断准备执行的PAUSE指令对应的自旋循环是否为之前执行的PAUSE指令对应的自旋循环,包括:判断准备执行的PAUSE指令对应的第一自旋循环标识与第一存储空间预先存储的与之前执行的PAUSE指令对应的第二自旋循环标识是否相同;
所述如果是,则针对所述执行PAUSE指令的次数进行递增操作,包括:如果所述第一自旋循环标识与所述第二自旋循环标识相同,则针对所述执行PAUSE指令的次数进行递增操作;
所述否则,针对所述执行PAUSE指令的次数进行重新计数,包括:如果所述第一自旋循环标识与所述第二自旋循环标识不相同,则针对所述执行PAUSE指令的次数进行重新计数。
4.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,还包括:如果所述第一存储空间未存储任何一个自旋循环标识,则将所述第一自旋循环标识存入所述第一存储空间。
5.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,还包括:如果所述第一存储空间未存储任何一个自旋循环标识,则针对所述执行PAUSE指令的次数进行递增操作。
6.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,如果所述第一自旋循环标识与所述第二自旋循环标识不相同,则将所述第一自旋循环标识写入所述第一存储空间。
7.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,所述第一存储空间为MSR。
8.根据权利要求7所述的虚拟CPU的处理方法,其特征在于,所述MSR位于虚拟CPU的Pause Control模块中。
9.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,还包括:
当虚拟CPU无法获取自旋锁时,在进入所述准备执行的PAUSE指令对应的自旋循环之前,获取操作系统为所述准备执行的PAUSE指令对应的自旋循环分配的所述第一自旋循环标识。
10.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,针对不同的自旋循环采用不同的自旋循环标识。
11.根据权利要求1所述的虚拟CPU的处理方法,其特征在于,所述判断所述执行PAUSE指令的次数是否满足次数条件,包括:
判断所述执行PAUSE指令的次数是否达到次数阈值;
所述执行PAUSE指令的次数满足次数条件包括:所述执行PAUSE指令的次数达到所述次数阈值。
12.根据权利要求1所述的虚拟CPU的处理方法,其特征在于,还包括:如果所述执行PAUSE指令的次数不满足次数条件,则所述虚拟CPU继续在所述同一个自旋循环中运行。
13.根据权利要求1所述的虚拟CPU的处理方法,其特征在于,所述将所述虚拟CPU从所述虚拟CPU所占用的物理CPU资源上移除,包括:通过执行VM Exit操作将所述虚拟CPU从所述虚拟CPU所占用的物理CPU资源上移除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810882095.2/1.html,转载请声明来源钻瓜专利网。